Uberserver: Difference between revisions

From Spring
Jump to navigationJump to search
Abma (talk | contribs)
Abma (talk | contribs)
moved to [Admin:Uberserver]
Line 13: Line 13:


run ./server.py --help for all available command line parameters.
run ./server.py --help for all available command line parameters.
= set spring version on the official server (info for spring server admins) =
with springlobby type this as admin user into the server window:
  SETLATESTSPRINGVERSION {{StableEngineVersion}}
to make it persistent, edit /home/lobby/uberserver/args.txt:
  --latestspringversion {{StableEngineVersion}}


= Offline LAN server =
= Offline LAN server =

Revision as of 21:56, 29 September 2016

uberserver is a lobbyserver written in python for spring lobby clients.

its currently used as the main lobby server running at lobby.springrts.com port 8200.

see https://github.com/spring/uberserver for more details


bugs / features

please report bug / feature requests to the bug tracker

command line parameters

run ./server.py --help for all available command line parameters.

Offline LAN server

This is not really the official way (because I didn't want 56 MiB for installing pip alone) but I started an offline LAN server on my Lubuntu 15.04/16.04 (32 bit) doing this:

First, download the latest uberserver:

wget https://github.com/spring/uberserver/archive/master.zip
unzip master.zip
cd uberserver-master

If you want to skip user registration and accepting the Terms of Use (it's your server after all), these ugly hacks should help:

You can check https://github.com/spring/uberserver/issues/16 first to see if it's officially supported by now.

sed -i "s#allowed = False#allowed = True#" protocol/Protocol.py
sed -Ei "s#(def in_LOGIN.*)#\1\n\t\tself.userdb.legacy_register_user(username, password, client.ip_address, client.country_code)#" protocol/Protocol.py
sed -i "s#(client.access == 'agreement'#(client.access == 'agreement_disabled'#" protocol/Protocol.py

Then install the required Python modules (geo IP stuff is not needed when on a LAN and/or offline) and start the server:

sudo apt-get install python-sqlalchemy python-pycryptopp python-twisted # for 15.04 (tested with Lubuntu 32 bit)
sudo apt     install python-sqlalchemy python-crypto     python-twisted # for 16.04 (tested with Lubuntu 32 bit)
./server.py

After that you can just launch a lobby client, connect to localhost (or the IP address of the server) with any username and password (empty might not work; didn't test; I use username == password) and you should be able to play.

You can see the expected output here (except that the packages were already installed): http://pastebin.com/ZTZzL1M9
The line "[0] Successfully logged in static user <ChanServ>" takes a few seconds while the server initializes its database. The two last lines should appear when your lobby client connects.