diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..b589fab --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,12 @@ +# Contributing Guidelines + +1. Make sure you put the item to correct and relevant category. +2. Adding a new category or updating is welcomed. +3. Remove trailing spaces. +4. For web application or software, please specify its language or platform. +5. Do not include any direct links to game clients. +6. LEGO is an adjective, and should be formatted with all caps. + - WRONG: `You can build stuff with Lego.` + - RIGHT: `You can build stuff with LEGO bricks.` + +**Thanks for contributing!** diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/frequently-asked-questions.md b/frequently-asked-questions.md new file mode 100644 index 0000000..4b99741 --- /dev/null +++ b/frequently-asked-questions.md @@ -0,0 +1,72 @@ +# Frequently Asked Questions + +This guide provides answers to frequently asked questions about LEGO Universe and Darkflame Universe. + +## Why do I have to setup a server myself? Didn't the Darkflame Universe team say they were going to setup a hosted server? + +Early this year, members of The LEGO Group (TLG) opened up discussions with the Darkflame Universe development team (DLU). Although we don't have all the information on what was discussed, we do know that TLG still cares about the game (especially the LEGO Games team). They love to see the enthusiastic community that still cares about it and appreciate the volunteer effort that has been continuing for the past decade to revive it. + +TLG and DLU have been discussing possible courses of action to allow an "official unofficial" public server for about a year. If TLG did not want the project to succeed, they would have simply had their legal team send a letter and make DLU shut their project down (as has happened with many other attempts to revive long-dead MMOs). + +Despite how much TLG may want to bring the game back, TLG has many overriding obligations that prevent them from condoning a public server. One major blocker is that there are legal restrictions to distributing old clients. Aside from containing copyrighted material (textures, models, and sound owned by TLG), they also contain code to handle physics, graphics, sound, networking, and other important stuff, that was written by third parties, and that TLG paid for permission to use, and these contracts lapsed a long time ago. + +Another major blocker is that TLG has an incredibly high standard in terms of moderation. TLG has probably the best reputation of any toy company in the world (have you ever heard anyone say ANYTHING bad about LEGO aside from stepping on them?). A public server's moderation would have to be squeaky clean. If a young player logged into a DLU server and saw a giant phallus made of LEGO bricks on an in-game property, it would be TLG that would take the hit. + +TLG and DLU have explored EVERY conceivable avenue, including but not limited to disabling chat and disabling user-generated content (i.e. properties) entirely. If you thought of it, DLU has likely proposed it. A public server is not viable at this time. This isn't because DLU doesn't want to do it, and it's not because TLG doesn't want to do it, and it's not because they didn't try as HARD as they could to get it to work. + +Keep in mind, despite being written to interact with a proprietary program, [DarkflameServer](https://github.com/DarkflameUniverse/DarkflameServer) contains zero reverse engineered code. This means that it is 100% the property of the people who wrote it, the DLU team, and they have full rights to distribute it. Additionally, even if the repository does get taken down, dozens of people (including myself) have downloaded it already. LEGO Universe is back, and it is back forever. + +Also keep in mind that DLU is still in talks with TLG, and it is imperative that these discussions are not sabotaged. You and a group of close friends can set up a server and play, but do NOT try to set up a large server for everyone to play on, and do not share your servers on public Discord servers or subreddits. If you do, you (and the rest of the community) may have to hear from TLG's lawyers. + +## Can I install and use the client from my old CD? + +You and many other players (myself included) have fond memories of the original game and have held onto the original disk for all that time. Sadly, the client included on the original disk contains a very early version of the game; it does not contain important bug fixes and content updates, such as the Nexus Tower and Crux Prime maps. Thus, it is not compatible with Darkflame Universe. + +## Where can I get an updated client? + +During the discussions with TLG, it has been concluded that TLG cannot allow major public forums to link to public clients. You will have to do your own research and find one. + +You are looking for a LEGO Universe Client 1.10.64, unpacked. Try Google. + +## How do I determine if my client is up-to-date? Is it safe, what if there's a virus? + +These are very astute and excellent questions. There may be bad actors out there looking to capitalize on the new release who will upload a virus posing as an up-to-date client. I have [a guide on how to verify your client here](/verify-my-client.md). + +## What does 'packed' or 'unpacked' mean? Does it mean compressed, like a ZIP file? How do I tell if my client is unpacked? + +Every time TLG was ready to release an update to LEGO Universe, they took all the game's assets, models, and scripts, and combined them together into pack files. In order for Darkflame Universe to work, these files need to be unpacked. + +An unpacked client can be distinguished by having a bunch of extra folders, such as `scripts` and `maps`, within the `res` folder of your client. + +If your client is not unpacked, [] + +## Help! I started Avant Gardens Survival and the play button doesn't appear! I can't move! + +This is actually a bug with the script in the client, and you will need to edit that script in order to fix it. + +Log out, close your game, [follow this guide to the letter](https://github.com/DarkflameUniverse/DarkflameServer#survival), then + +## Help! Mechs in Avant Gardens aren't dropping the Turret quick-builds! + +Your server's `CDServer.sqlite` file was not configured correctly. [Follow this guide to learn more](https://github.com/DarkflameUniverse/DarkflameServer/issues/46). + +## Can I stream the game on Twitch? + +Twitch has a section of their community guidelines which reads: + +> Intellectual Property Rights +> You should only share content on your Twitch channel that you own, or that you otherwise have rights to or are authorized to share on Twitch. If you share content on your Twitch channel that you do not own or otherwise do not have the rights to share on Twitch, you may be infringing another person’s intellectual property rights. +> Examples of content you should not share on Twitch without permission from the copyright owners or unless otherwise permitted by law include: +> Pirated games or content from **unauthorized private servers** + +Note the bold text; Darkflame Universe is technically an unauthorized private server. I won't straight-up say that you can't, but streaming the game, consider the risks to yourself, and whether you okay with potentially receiving a copyright strike on your account. + +## Can Darkflame Universe be modded? Can I new items? New skills? New enemies? New missions and worlds? + +The short answer is yes. The long answer is no. + +Basically all the work done since the game was shut down has been focused on getting the base game functional. That work is now done, and the team has come away with a good understanding of how many of the systems in the game work. Now that DLU is out, new tools will hopefully be developed (such as a modloader or patcher) to allow for new content to be added to the game. + +All the things I listed (new items, new skills, new enemies, new missions, new worlds) have the capability to be added to the game, but none of the work to enable modding support has been done. Thankfully, with the release of a fully functional server, the community will likely see a major surge of attention and talent to assist in this effort. + +However, there is one thing to note. There is a tool called HappyFlower, which is an old level editor. It only works on the alpha version of the game, which means it doesn't support adding enemies, NPCs, or missions, but it does allow you to edit and create new worlds. In the future, other important features will be added, and users will eventually be able to create their own content, similar to worlds like Moonbase and Portabello. \ No newline at end of file diff --git a/google-cloud-setup.md b/google-cloud-setup.md new file mode 100644 index 0000000..8e8206d --- /dev/null +++ b/google-cloud-setup.md @@ -0,0 +1,11 @@ +# Setup Instructions for Darkflame Universe (Google Cloud Setup) + +The following is a guide to setting up a functioning Darkflame Universe server instance running in the cloud, which has several key benefits: + +- These steps don't vary based on what kind of computer you have. +- You can easily start over if you mess up (just delete the instance). +- The server can continue to run even if you turn off your PC. + +The downside to this method is that it does technically cost money. You will have to provide a payment method with Google. However, there is a one-year trial which gives $300 in credits, and the smallest instance is about $5 a month. + +## WORK IN PROGRESS diff --git a/images/checksum.png b/images/checksum.png new file mode 100644 index 0000000..0ca57c3 Binary files /dev/null and b/images/checksum.png differ diff --git a/images/splash-art.jpg b/images/splash-art.jpg new file mode 100644 index 0000000..b85a760 Binary files /dev/null and b/images/splash-art.jpg differ diff --git a/mythrans-bible.md b/mythrans-bible.md new file mode 100644 index 0000000..f07b4ff --- /dev/null +++ b/mythrans-bible.md @@ -0,0 +1,78 @@ +# The Mythran's Bible - A Server Operator's Guide to Darkflame Universe + +So you've finally setup a server instance, created an admin account, then created additional accounts using the Account Manager. You've connected to the server using your client and everything seems to be working fine. + +Now that you've reached this point, there's still a lot to know about managing and maintaining a server. + +## Port Forwarding + +The server you're running will need to open the following ports to allow for outside access to your server: + +* 1001 - Auth Server +* 2000 - Master Server +* 2005 - Chat Server +* 3001 - +* 3007 - + +## GM Levels + +Game moderator levels define what console commands a given account has access to in-game. To modify a player's maximum GM level, set the `gm_level` column in the `accounts` table in the MySQL database. + +Players have a max GM level and a current GM level; at any time, a player can use the `/setgmlevel` command to raise their current GM level up to their maximum, which grants them permissions corresponding with that level, or lower their GM level down to a lower level, or 0, which limits what commands they can execute. + +A player with full GM permissions can lower themselves down to 0 to play the game as though they were a normal player, then raise their level up if they need to do something like teleport or unstuck themselves. Think of it like Minecraft; if you have permissions, you can play the game in Survival, and call `/gamemode creative` only when you get stuck. + +There are 10 total levels, as follows: + +* 0 - Civilian: This level describes all normal players of the game. + - Players at this level still have access some commands, see the Console Commands section below. +* 1 - Forum Moderator: This level describes forum moderators who have very few permissions. + - **NOTICE:** Players with their GM level set to this level and above may experience deviations from normal gameplay. + - Players at this level can send any messages in chat without moderation or blacklist checking. + - This is based on your current level, not your maximum level, so if you are currently playing as a Civilian you cannot chat without filters. + - Players at this level and above will appear as Mythrans. This cannot be toggled at this time. +* 2 - Junior Moderator: This level describes moderators who can help regulate chat. + - Players at this level and above can access chat logs, kick players, and mute players. +* 3 - Moderator: This level describes moderators who can help deal with glitches. + - Players at this level and above can return lost items to players. +* 4 - Senior Moderator: This level describes moderators who can help deal with problematic players. + - Players at this level and above can ban players. +* 5 - Lead Moderator: This level describes moderators who are trusted to manage user-generated content. + - Players at this level and above can approve properties. +* 6 - Junior Developer: This level describes junior developers and members of future content teams. + - On live servers, their GM level is reset to 0 (Civilian). +* 7 - Inactive Developer: This level describes inactive developers with limited permissions. +* 8 - Active Developer: This level describes players who have been granted all but the most powerful permissions. + - Players at this level and above can spawn entities, instantly smash target players, run macros, and more. + - **NOTICE:** This GM level should only be granted to trusted players. +* 9 - Server Operator: This level describes players with full access and permissions. + - Players at this level can shut down the server. + - **NOTICE:** This GM level should only be granted to system administrators. + +## Console Commands + +Here is a list of all console commands, sorted alphabetically and grouped by required permission level. Each level also has access to the commands of the levels above them. To run one of these console comands, enter them into chat. + +### WORK IN PROGRESS + +### 0 - Civilian + +These commands are available to ALL normal players of the game, including newly created characters and non-moderators. + +#### /pvp + +**This is a custom command added by the Darkflame Server** + +This command toggles a flag on the current player, which enables that player to attack, damage, and smash other players who are participating in PvP. + +This system functions similarly to Terraria's PvP system; you must enable PvP in order to participate in it, and can disable it at any time. + +### 9 - Server Operator + +#### /shutdownuniverse + +This command sends an announcement to all players that the server will be shut down for maintenance in 10 minutes, then shuts down the the entire Darkflame Universe server. + +#### /crash + +This command immediately crashes the entire Darkflame Universe server, causing players to disconnect without advance warning. \ No newline at end of file diff --git a/verify-my-client.md b/verify-my-client.md new file mode 100644 index 0000000..d52375b --- /dev/null +++ b/verify-my-client.md @@ -0,0 +1,45 @@ +# Verifying My Client + +So you've just downloaded what appears to be a Lego Universe client, but you don't know if it's the right one. Maybe it's too old? Is the download corrupted? Or worse, what if it's actually a virus? + +Thankfully, there's a foolproof method to verify a client: Checksums. + +## What is a checksum? + +*Note: You can [skip this section](#basic-steps) if you don't care what a checksum is, I won't get offended.* + +A checksum function is a procedure which takes some input data and generates an output string. The output string is always the same length, regardless of the length of the input string. The input data can be anything, including a string or a file. + +The important thing to know is that if the input data is even the tiniest bit different, it will completely change the output string. See below. + +[](!/images/checksum.png) + +By the nature of the checksum function, it is basically impossible to intentionally create a file that even resembles, much less exactly matches, a given checksum. For SHA-256 (the checksum function we will be using in this guide), the odds that two files will have the same checksum is approximately... + +1 in 4,300,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 + +Add on top of that the odds that the file isn't a garbled mess, on top of the odds that the file resembles a Lego Universe client... + +## Basic Steps + +I'll go over a tutorial for each computer in a moment, but simply put, you'll be performing the following steps: + +* Start with the file containing the client (it should be a single .rar file) + +### Valid Checksums + +Here is a list of known valid + +## Windows + +With how useful taking the checksum of a file is, it's really something that Windows should make easier to do. Just add it to the Properties panel or something! + +### WORK IN PROGRESS + +## MacOS + +### WORK IN PROGRESS + +## Linux + +### WORK IN PROGRESS