- Notifications
You must be signed in to change notification settings - Fork0
LEGO Universe server written in C#
License
ArkShocer/Uchu
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
LEGO® Universe server written in C#
The LEGO Group has not endorsed or authorized the operation of this game and is not liable for any safety issues in relation to its operation.
- Introduction
- Features
- Setting up a client
- Setting up a server
- Getting ready to play
- Support
- Python scripting
- API
- Contributing
Uchu is a server implementation for The LEGO Group's 2010 MMOLEGO® Universe, which was shut down in January 2012.
To play LU, a client and a server are needed. The client connects to the server, and the server tells the client what to show and handles combat, NPCs, missions, and a lot more. Uchu is a server; you need the original client too (explained in detail underSetting up a client).
- Missions & achievements
- Smashables
- Quickbuilds
- Rocket building, launchpads and world teleporters
- Enemies (movement AI is slow; disabled by default)
- Vendors
- Items and skills
- Death planes
- Factions
- Vault
- Moving platforms
- Avant Gardens Survival
- Footraces
- Monument Race
- Combat Challenge
- Leaderboards for the above, where applicable
You need to download anunpacked client, so that Uchu can use its resources. A list of client downloads is availablehere. The recommended client ishumanoid/lcdr’s unpacked client. This is a.RAR
file; extract it somewhere.
After you've extracted the client, you will need to install a mod to be able to use it with the Uchu server. This mod replaces the original, outdated networking protocol used by the game. Downloadmod.zip
fromthis page and extract it in your LU client folder. The result should be that a folder calledmods
, a file calleddinput8.dll
andlegouniverse.exe
are all in the same folder.
If you are on Linux or macOS, you will needWine to launch the client (macOS 10.15 and later: usethis version, which has the 32-bit support you need for LU). You need to explicitly tell Wine to load the modloader by launching it usingWINEDLLOVERRIDES="dinput8.dll=n,b" wine ./legouniverse.exe
.
You can either use a release or build from source. Using a release is recommended for most users, as it is far easier than manually building from source.
- Download and runUchu Tool
- Set the client resources path in
config.xml
as described underConfiguration, and then run Uchu Tool again.
Whenever you run Uchu Tool, it will automatically check for updates and (when applicable) offer to install them for you.
In this section it is assumed that you are familiar with your operating system's terminal emulator, and know how to use it to navigate to folders and run files.
- Installgit
- Install.NET 6.0 SDK (for Linux users it will be called
.NET
withoutSDK
)
Clone the repository:
git clone https://github.com/UchuServer/Uchu --recursive
Make sure you include the--recursive
part. If you forgot to, then typegit submodule init
andgit submodule update
.
Build the project:
cd Uchudotnet build
Start the server:
cd Uchu.Master/bin/Debug/net6.0dotnet Uchu.Master.dll
The first time you run the server, a configuration file calledconfig.xml
will be generated.
Openconfig.xml
with a text editor. Find this text:
<GameResourceFolder>path to res folder</GameResourceFolder>
and insert the path to your LEGO® Universe client'sres
folder. For example, on Windows this could be:
<GameResourceFolder>C:\Users\Bob\LEGO Universe\res</GameResourceFolder>
Now start the server again withdotnet Uchu.Master.dll
.
To update the server with the latest changes, navigate to Uchu's top-level directory (which is where you randotnet build
, and whereUchu.sln
is located), and run:
git pulldotnet build
Only needed for advanced use cases: seethis document for an explanation of all available configuration options.
When you've got your server up and running, it's time to create a user account. If you're on Windows, find the window titled Authentication. On Linux/macOS, you just need the one window in which the server is running.
Type/adduser <username>
and press enter to create a user (don't include the<>
). Uchu will prompt you for a password. You can set your permissions using/gamemaster <username> <level>
. The highest level available is9.
There are in-game commands available that are useful to know, such as/complete
(completes active missions),/smash
(you'll respawn at a safe location), and/fly
(...it lets you fly). Type/help
in the in-game chat for a complete list. You can also type this in the Uchu console for a list of console commands.
If you encounter issues with the installation process, take a moment to re-read all instructions carefully, and if you're still stuck you are welcome tojoin our Discord server and ask your question in the#help
channel.
Uchu supports Python scripting, which allows you to make minigames and other server additions with Python. Seethis document to get started.
Uchu supports REST API requests, which allows you to create, retrieve, update, or delete access to the uchu server. Seethis document to get started.
Contributions are always welcome! If you encounter an issue that isn't logged on theissue board yet, feel free to add it. And, of course, you're more than welcome to open a pull request to fix it :)
If you are interested in contributing code to Uchu, feel free to join thecommunity Discord server and contact one of the developers to get an invite to the development-focused Discord server.
SeeHACKING.md to learn more about developing Uchu.
About
LEGO Universe server written in C#
Resources
License
Stars
Watchers
Forks
Packages0
Languages
- C#99.6%
- Python0.4%