|
FAQ
Frequently Asked Questions
Frequently Asked QuestionsIntroductionThis document is an in-progress collection of information about L1J-En. What is L1J-En?L1J-En is a server emulator for the MMORPG Lineage 1. As far as MMORPG server emulators go, most projects are fairly buggy, only support a small percent of the features of their official counterparts, or don't work at all. L1J-En is one of the few emulators where this isn't the case, and is on par with efforts such as RunUO and L2J. Many hundreds of players actively play on servers using L1J-En. How does L1J-En compare to other L1J variants?L1J-En is the only active English language Lineage emulator, and one of only two open source ones. We also aggregate all of the features and bugfixes from Asian L1J efforts as well as add many of our own. While it may take some time for all of the features to filter down to this project, the result is arguably the most stable Lineage 1 emulator available and servers have been able to run wipe-free since its inception (something not possible until L1J-En). I just wanna play Lineage! Where do I go?Choose from one of the many servers currently running L1J-En (and various customized versions of it). Here's a list of the major publicly-available ones we know of, ordered by estimated population: Lineage DC - Currently the largest Lineage 1 private server. Long running with moderate rates and live-like gameplay. Frisky Cow - Oldest L1 server, recently switched to L1J-En. Includes some of the latest features from Asian L1J teams. Risen Server - Fast leveling and lots of custom items. Dlirk's Private Server - Semi-high rate with a fair amount of regular users. EpicL1 - A primarily Spanish language server. Westknights Lineage 1 - Mid rate English server. Linpride1337 - Mid rate server. Lineage Heroes - Another Spanish language server. Lineage Evolution - Yet another mainly Spanish language server. Lin Excalibur - Currently down for rework. If you're running an L1J-En based server, let us know and we'll add it here. What happened to the LinDC emulation project?This codebase is a fork of the LinDC codebase from its revision 894. The reason this new project was created was mainly: 1.) to implement a long planned name change that wasn't specific to one private server, 2.) to address some of the dev team's internal disagreements on project goals, and 3.) to lose some of the baggage associated with the LinDC codebase going down what we feel was the wrong path. L1J-En was chosen as a name because this project is in fact an L1J port. The "En" part of it denotes the English language aspect of this server. We considered L1J-US, since we do use the US client, but since we have no intention of implementing the US servers' LoA ruleset, this would have been a misnomer. What are the goals of L1J-En?In short, the primary goal of L1J-En is to create the most stable English language Lineage Server Emulator currently possible. The specific goals of the project are as follows, in descending order of priority: 1. Stability: The server should foremost be as stable as possible. By stability, we mean both that the server should be able to run as long as possible unattended and also that the gameplay should be as free of fundamental flaws as possible. The latest feature doesn't do a public server any good if it introduces dozens of bugs in the process or has the potential to unbalance a server with an active playerbase. 2. Fixing bugs: Non-functional or improperly functioning aspects of existing features takes precedence over adding new features. Bug fixing itself is prioritized by the effect it has on gameplay. 3. Translation: Since this server is the only actively developed English language port of L1J, we'll do our best to translate all text content to English. This task is already completed for all existing aspects of the server. 4. New Features: We do want all of the latest new features worked on by the other various L1J projects. However, we take a more conservative approach with new features than other L1J ports, as they tend to be bug-prone when first added. We also implement missing features ourselves as developer time permits. 5. Balance adjustments: The Asian L1J efforts largely target private servers that run at very high rates (i.e. the kind of server where everyone is level 80+ in a few days). While this is fine for some quick fun, we also want to support the ability to run a long-term, if not permanent, public server. This requires a lot of attention to droprates, spawn, and minor features players don't care about on a temporary, high rate server. 6. Server enhancements: Increasing the ease by which server owners can administrate their servers is a final goal. This includes custom settings, support for multiple OSes, GM/Monitor commands, stored procedures, and various other administrative functions. We also maintain an upgrade path for in-use databases. What are NOT the goals of L1J-En?There are several things that we could do, but won't for what we feel are valid reasons. A few of the major things we will not do are: 1. Refactoring the codebase: We are well aware of the fact that L1J is rife with lame technologies and very uninspired design. L1J is a great example of how NOT to design a large piece of software. While we share in the many complaints anyone with experience in software development will have within a few minutes of examining its architecture (or lack thereof), we will do as little refactoring as possible simply because we want to leverage the work being done by other L1J efforts. Diverging too far from their structure complicates the merge process, and while it would still be possible to make use of their additions, the English-speaking Lineage community lacks the talented manpower to re-implement every one of these individually. 2. Support: While members of the development team do actively assist in the efforts of some of the public servers using the codebase, what we won't do is provide personal support for every person that downloads the code. The reason for this is simply that dev team members don't have time to provide individual walkthroughs of the setup process and all of the aspects of server administration. A setup guide is provided on this site, and support can be had from other admins and users on the LineageDC forum, however. We'll also do our best to make the various steps of the processes as self-explanatory as possible, but don't guarantee that it will be accessible to those who lack basic computer skills. 3. Custom features: Many private servers provide a Lineage experience that has modified rules from the live servers. While we're happy to add any custom feature if it can be toggled with a configurable setting, what we won't do is modify the basic game mechanics of Lineage itself to satisfy one server's vision of what Lineage should be. Admins who want to do this are welcome to make their own private modifications, of course. I want to run the server, but am getting some error. What should I do?First, ensure that you've read all documentation available here on the site. 95% of the time, the reason this occurs is because of some missed, ignored, or misinterpreted step that is already explained here. There is additional documentation available within the repository itself. The LineageDC site also has some information available. If still confused, scroll through some of the previous posts already made on the LineageDC forum. Chances are someone else has already made the same error you have and the answer is posted in a reply there. If you are unable to find an answer this way, feel free to post a question there. Lastly, if you're still having problems, and are either unable to explain it properly or get an answer from other users, you can always take a look at the code itself. Experience with most any higher-level programming language should be adequate to get an understanding of what should be occurring during server initialization. If the error is occurring at an earlier step, such as compilation or getting the server to start, documentation on the tool(s) you are using will probably provide the answer to what you're doing wrong. If you've tried all of the available methods and still can't get the server running, then why not save yourself and those that will try to help you the time and take advantage of the fact that several publicly available servers (some of which are listed above) who have already done all the work for you? As previously mentioned in this document, what you should NOT do is track down and privately message a member of this team without invitation and expect them to drop whatever they are doing to help you. Unlike NCSoft's support team, this is not a job for us, but a volunteer effort. In the rare case where there has been a bad recent check-in that hasn't yet been caught, post the problem on the issues list with as much relevant detail as possible and someone will address it in the near future. How do I report bugs?There's a Issues tab on the site that is open to the general public to add bug reports. Create a new issue and fill out the form fields. Please add as much detail as possible, so that whoever looks at it can recreate the bug in a test environment. Recreating the bug is almost always a necessary part of finding the bad code and fixing it. Bugs are prioritized by severity, but are not necessarily fixed in that order. If someone only has a few minutes of free time, they may just fix a smaller issue. Also, some issues are inherent to the current design, have client-related causes, or are otherwise impossible to resolve at the current time. These may linger indefinitely. If there is a bug that really bothers you personally and it isn't being addressed quickly enough or to your satisfaction, remember that this is an open source project. We can and do accept fixes from non-members, and interested parties are welcome to join up and help. Remember, we're just fans of Lineage like yourself, who want to see Lineage emulation get better. How do I help this project?Are you technically capable? We want your help! As an open source project, you can assist the further progress of Lineage 1 emulation by contributing to this project. Feel free to download the code and get familiar with it. Then, if you identify something needing attention or can address something on the issues list, let us know. Continue reading for full details. How do I submit a patch?If you're already on the development team, just check in via SVN. Otherwise, email your patches to one of the project owners, and if it meets at least minimal quality standards, we'll gladly add it to the project. Please test all changes locally before submitting. What skills are needed to help?Anyone with moderate Java development experience (or any high-level OOP language), database experience, knowledge of the software development process, or an ability to learn these skills will have no problems contributing here. This codebase is easy to understand and modify, but also very fragile, so attention to detail is necessary. There are no positions or openings to apply for; if you want to help, just start coding! :) If you're helping, you'll be added to the project members. You do not need to play on our production server to help this project, and we won't stop you from running your own server with your own vision of what Lineage should be. In fact, many servers have done just that, and several are now using this repository as their codebase. Contributing your changes/fixes back to this project will not just make updating easier, but help Lineage emulation for everyone. What quality standards are in effect?We do reserve the right to not include patches that are of extremely poor quality or don't follow basic best design practices. We are aware of the fact that the codebase could use a ground-up refactoring, but will not do so in order to maintain L1J portability. Along those lines, in rare cases, patches may not be acceptable due to the fact that it would make L1J merges significantly more difficult. The only other reason a patch might not be accepted is that it involves the hardcoding of gameplay mechanics that are contrary to the goals of the L1J-En server project. In that case, we will be happy to add it as an optional component or you can feel free to add it as a configurable setting. We don't want to discourage anyone, so in such an event we'll be happy to work with committers to get their submissions up to par (developer time permitting). Database changes must be submitted in the form of SQL queries for just that change/fix (do not send us dump files). I want to help, but am too unskilled and/or stupid.One option here would be to help out with testing, documentation, managing various aspects of this site, assisting users on the LineageDC forum, helping the community on a public server, or anything else you can think of. This kind of community help has been essential to this project (especially the testing). The other option is to learn one of the technical skills necessary to help out. If you're starting from nothing, pick an aspect of the server that interests you to focus on. For example, the database could really use the attention of someone skilled in SQL that closely monitors the datapack. Alternatively, you could just learn Java and help out on that end. Or, master some of the tools and help monitor the build process. These are just examples. Any of these skills are valuable in other aspects of real life too. There are thousands of books and free tutorials on all of these topics, and none of the technologies in use here are exceptionally complicated, so the only thing required is time. What are Milestone builds?Milestone builds are released to help those of you who may lack some of the technical skills needed to setup your own server via compiling and applying updates. If you find compilers and databases intimidating, these are for you. Milestone 1: This was an Ep5 release. It is still available on the old project site for those wanting to run an Ep5 server. Milestone 2: This was a post-EpU merge release. It also is only available on the old site. Milestone 3: This was an internal re-baselining milestone for correcting some of the bad development work that occurred during and in the 6 weeks after the EpU merge. No precompiled server binary exists for this release. Milestone 4: This milestone has been published after the first L1J-En update completed testing and went live on the LineageDC public server. Milestone 5: Just released! This is a maintenance update with a ton of minor bugfixes. Using L1J-EnCastle sieges don't work!They work, you just need to set them up properly. If this is on your own server, to do so, shutdown the server then manually set the castle ownership to a test/gm prince by changing that bp's hasCastle value in clan_data. Log in as that char to verify that he does in fact own the castle (you should see a crown over his head and be able to use bp return scrolls). Then, shut the server down again and set the castle's war_time to the near future in local time. Other princes should now be able to declare as long as they follow the normal game rules for being able to do so. Do this for all of your castles until player bps own all of them. |
Sign in to add a comment
java.lang.NoClassDefFoundError??