LU Server Projects

Saving Imagination for All

FAQs


What are LU Server Projects?

This community of projects aims to provide the capability to play the LEGO® Universe MMO, shuttered in February 2012 after a roughly one year run, through emulating the original servers. This is done thanks to the hard work of many fans in reverse engineering packet captures and the game client, and also opens up the possibility for further creativity through customization by dedicated fans.

Where can I get in touch with other fans, developers, and community members? Where can I ask questions

Please see Community/Contact

How did it all start?

Around the time of the games closure, Pwjones was able to capture a significant volume of packets from the live LU servers, which were then able to be decrypted by Humanoid, who also wrote the very first server prototype playing back these captures. Not soon thereafter, the community began to overhype the little that was available in this implementation, and due to various reasons multiple fractures developed among the community. Multiple groups formed to work on furthering the understanding and implementation of LU servers, and through the formation, dissolution, and consolidation of these projects, the current major projects have come in to being, as well as paving the way for other experimental utilities and implementations.

Why can't everyone join forces and work on one project?

There are multiple reasons for this, including:

However, this is not to say that the projects do not collaborate at all. In fact, this is the complete opposite. There is an immense amount of communication and collaboration among the various teams in understanding the LU systems (for example, through the public documentation), building utilities, and discussing optimal implementation approaches.

What's taking so long?

Based on a previous comment by LCDR, this is probably best summed up as follows

How can I play LU right now?

You will need a client (ie, the game itself that you would install from a game disk/with the patcher) and a server emulator (the program responsible for communicating between multiple players, saving and loading user data, etc).

How do I get a game client? Can I use my live client? Can I use the client that comes with the disk?

You'll need a complete download of the final release of the client, version 1.10.64. You can use the client you played with during live as long as you used the "full download" option and your client was fully updated. Reinstalling the client from the disk will not work as it does not have all data loaded (you needed to use the patcher to update it to the latest version, which is no longer online).

While we legally cannot distribute clients or otherwise provide links to client uploads, we are aware that they exist. To ensure you stay safe from malware and have a complete/valid client, we have compiled a list of SHA256 checksums we know are valid. We highly recommend doing this verification if you're not using your own client from live. To verify your client checksum:

Known good checksums are:

How do I get a server emulator?

DLU has announced they will be releasing their server emulator, most likely before the end of the year. We will update this information at that point. Until then, you may be interested in setting up Uchu:

  1. Download Uchu-Tool and extract the zip file
  2. Run Uchu.Tool.exe. Wait for it to download and start Uchu. This tool will also automatically check for and install updates when you run it.
  3. Download the Network Protocol mod and extract it into your LU client folder. Make sure the mods folder is in the same folder as legouniverse.exe.
  4. Open the boot.cfg in the LEGO Universe Client folder and change AUTHSERVERIP to read AUTHSERVERIP=0:localhost, (this may already be the case depending on the client)
  5. Add a user in the Uchu console (if you're on Windows, the one called Authentication) by typing /adduser username (replacing "username" with what you want your username to be).
  6. Optionally, you can give yourself more command permissions using /gamemaster username level. The highest level available is 9.
  7. Launch LEGO Universe

If Uchu can't find the client resources

  1. Go to the uchu folder that should be in the same folder as Uchu.Tool.exe
  2. Open config.xml using a text editor and locate <GameResourcesFolder>path to res</GameResourcesFolder>
  3. Add your client res folder, for example it should look like this <GameResourceFolder>C:\Users\Bob\LEGO Universe\res</GameResourceFolder>

For help with Uchu, you can join the Uchu Community Discord server.

What can I do to help?

If you have software development experience, you might want to try your hand at helping out one of the open source servers or development utilities linked below. You'll probably want to start out by taking a quick look over the LU Sytems Documentation (either via the original Google Docs or the Unofficial ReadTheDocs port). Contributions to the documentation of any kind (through additional client or network reverse engineering, systems documentation, typo fixes, or anything else) are also helpful and are always appreciated. If you become comfortable with how LU servers operate and show competence in your development skills, more established projects may also be willing to take you on at that time (generally by invitation). You can also fork this project on GitHub and submit a pull request if you wish to improve its content or functionality.

Otherwise, your kind words and encouragement do wonders to keep all the developers encouraged to keep working at their hardest to bring back the game as close as possible to the original experience.

Servers

Darkflame Universe (DLU)

  • Status: Alpha 2 (Crash Testing)
  • Language: C++
  • Active Devs: DarwinAnim8or, Averysumner, Wincent01, lcdr, Neal, Jonny, Bricknave, Mick Vermeulen, Aronwk (web dev)

JALUS

Just Another LEGO Universe Server
  • Status: Archive
  • Language: C++

LUJS

Event-driven NodeJS server
  • Status: Active Development
  • Language: JavaScript
  • Active Devs: Raine

LWO Servers

Alpha Servers
  • Status: Experimental
  • Language: C++
  • Active Devs: DarwinAnim8or

Project Garmadon

PyRakNet reliable test server
  • Status: Active Development
  • Language: Python
  • Author: Arron

PyLUS

Simple, modular, extensible, event-driven server
  • Status: Experimental
  • Language: Python
  • Active Devs: Luxaritas (Knightoffaith)

Uchū

LEGO Universe server written in C#
  • Status: Active
  • Language: C#
  • Active Devs: TheNexusAvenger, enteryournamehere, Frozenreflex

WLUS

Currently not being updated
  • Status: Experimental
  • Language: Python
  • Active Devs: Wesley (wescdem)

Development Resources


Assembly

LU Server Common Library
  • Status: Active Development
  • Language: Rust
  • Author: Xiphoseer

Infected Rose

LEGO Universe file I/O library collection
  • Status: Active Development
  • Language: C#
  • Author: Wincent01

LCDR Util

LU File and Packet Utilities
  • Status: Active Development
  • Language: Python
  • Author: lcdr

LU Systems Documentation

Packet Structures, File Structures, and Game Mechanics Documentation
  • Status: Active Development
  • Language: English, LCDR Structure Definition Format, RST
  • Author: lcdr

LU Explorer

LU Game Data Explorer
  • Status: Active Development
  • Language: HTML/TypeScript (AngularJS)
  • Author: Xiphoseer

LU HAL APIs

XML and JSON HAL APIs for Internal Game Data
  • Status: Active Development
  • Language: JSON/XML
  • Author: Xiphoseer

lu_packets

LU Packets used for Rust server development
  • Status: Active Development
  • Language: Rust
  • Author: lcdr

LU Res

Preprocessed LU Game Data for Web
  • Status: Active Development
  • Language: Raw Data
  • Author: Xiphoseer

LU Server Projects Website

Information on LU server projects (this site)
  • Status: Active Development
  • Language: Markdown/Jekyll/Liquid
  • Author: Knightoffaith, Wesley (wescdem)

Darwin's Nifskope Port

Modified version of Nifskope to work properly with LU nif files
  • Status: Archive
  • Language: C/C++
  • Author: DarwinAnim8or

Node RakNet

NodeJS RakNet Port
  • Status: Active Development
  • Language: JavaScript
  • Author: Raine

Paradox

LU File Format Development Toolkit
  • Status: Active Development
  • Language: C/C++
  • Author: Xiphoseer

Pyraknet

Python RakNet Port
  • Status: Active Development
  • Language: Python
  • Author: lcdr

RakDotNet

C# RakNet Port with TCP/UDP support
  • Status: Active Development
  • Language: C#
  • Author: yuwui

RakNet

LU's Networking Library (version 3.25)
  • Status: Archive
  • Language: C++
  • Author: jenkinssoftware

Community and Contact