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 released their server emulator which allows you to have a nearly feature-complete experience of LEGO Universe. For DLU setup questions, the best place to ask is the LU Community Hub. Until the setup of DLU becomes easier, 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 LEGO Universe client folder. Make sure the mods folder is in the same folder as legouniverse.exe.
  4. Open boot.cfg in the LEGO Universe Client folder and change the line starting with 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 (legouniverse.exe).

If Uchu can't find the client resources:

  1. Go to the uchu folder, which is in the same folder as Uchu.Tool.exe.
  2. Open config.xml using a text editor and locate <GameResourcesFolder>path to res folder</GameResourcesFolder>
  3. Add the path to your client's res folder. For example, on Windows this could be: <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


Logo of Darkflame Universe (DLU)

Darkflame Universe (DLU)

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

Imagination Server

A proof-of-concept C# LEGO Universe server
  • Status: Archive
  • Language: C#
  • Author: Miclebrick

JALUS

Just Another LEGO Universe Server
  • Status: Archive
  • Language: C++
  • Authors: Tracer, Jonny

LWO Servers

Servers for the LU Alpha client
  • Status: Experimental
  • Language: C++
  • Author: DarwinAnim8or
Logo of Operation Crux (OpCrux)

Operation Crux (OpCrux)

  • Status: Archive
  • Language: C++
  • Author: Simon Nitzsche

OpenLU

F# implementation of a LEGO Universe Server Emulator
  • Status: Experimental
  • Language: F#
  • Active Devs: lappn99

Project Garmadon

PyRakNet reliable test server
  • Status: Archive
  • Language: Python
  • Author: Arron

PyLUS

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

Uchū

LU server written in C#, with Python scripting support
  • Status: Active Development
  • Language: C#
  • Active Devs: Fro Zen, TecCheck, TheNexusAvenger, zaop

WLUS

Wesley's LEGO Universe Server
  • Status: Archive
  • Language: Python
  • Author: 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