Headless Server - how to run a Lux room from the command line
Posted: Sun May 28, 2006 11:35 pm
Lux includes a headless server option. This means you can run a host from the command line, and it will operate in the background without creating any windows or graphics. NOTE: You will need some degree of computing skills to get this running.
Instructions:
- Install all desired maps or generators that aren't default maps (i.e: Classic, Biohazard). You can use the PluginManager or copy the files into the proper Support folder location. If you want to host typical biodeux, then you need to install the Biohazard map generator plugin.
- You need to make sure your computer firewall and router are set to allow hosting. If you've never hosted a Lux room on your computer before, try it, you'll probably need to follow some of the router and firewall setup.
Mac OS X instructions:
- Open up the Terminal application (inside /Applications/Utilities/)
- Change to the directory Lux is, typically the command will be: cd /Applications
- Run your customized Lux headless command. Here's an example for you to modify:
Windows instructions:
- Open a terminal/shell window.
- Navigate to the Lux Delux install folder.
- Run your customized Lux headless command. Here's an example for you to modify:
Linux ssh session instructions:
- ssh into your linux server
- download the linux package:
- unpack the download package:
- Navigate to the Lux Delux install folder:
(Optional) - install additional maps or AIs by copying them from your home computer into the corresponding Support folder inside the remote LuxDelux/Support/ folder.
- Run your customized Lux headless command. Here's an example for you to modify:
If you want to be able to exit from your ssh session and still have the host run, add these bits to the front and end of your customized command:
Those commands should be all on one big line. Most of the switches should be self-explanatory. If you want a private game then switch -public=true to be -public=false. If you play around with the switches it should tell you if you do anything wrong and let you know how to do it right.
You can join your own headless server (and you'll be promoted to the host). If you're having trouble joining it from the same computer, try entering '0' into the 'private game address' box in the Join Game window and clicking Join. (You'll need to clear the private address field to join any other listed games fyi)
The headless server will not play games with all bots, to save CPU.
The following command line options are supported:
-name=hostname
-map=ClassicPartDeux (remove all spaces from map names)
-desc=Hello_everyone (replace all spaces with underscores)
-time=30
-conts=15
-cards=51015
-unranked
-placed
-scenario
-bio1 to -bio6
-shuffle2 (randomize and winner stays)
-shuffle3 (highest ranked players)
-shuffle4 (cycle out game losers)
-public=true
-port=6619
-agent=<bot> (can also use the values "networkplayeronly" or "networkplayeronlyfull")
-regCode=CODE (if you're getting notices about pirates or non-registered account)
-gamelimit=45
-nofirstturncontbonus
-novariablestart (turns off extra starting armies for last players)
If you want unicode output in the shell window, add -Dfile.encoding=UTF8 to the command you run.
If you want to host multiple rooms on the same computer, you need to specify a different -port setting for each of them (use 6620, 6621, etc).
You can turn off bot-only games by typing /set abortbotgames as the host in the chat. Do it when you only have 1 instance of Lux running. This works for both normal and headless servers.
Instructions:
- Install all desired maps or generators that aren't default maps (i.e: Classic, Biohazard). You can use the PluginManager or copy the files into the proper Support folder location. If you want to host typical biodeux, then you need to install the Biohazard map generator plugin.
- You need to make sure your computer firewall and router are set to allow hosting. If you've never hosted a Lux room on your computer before, try it, you'll probably need to follow some of the router and firewall setup.
Mac OS X instructions:
- Open up the Terminal application (inside /Applications/Utilities/)
- Change to the directory Lux is, typically the command will be: cd /Applications
- Run your customized Lux headless command. Here's an example for you to modify:
Code: Select all
java -Djava.awt.headless=true -cp "./Lux Delux.app/Contents/Java/LuxCore.jar:./Lux Delux.app/Contents/Java/MRJAdapter.jar" com.sillysoft.lux.Lux -headless -network=true -public=true -map=RomanEmpireII -cards=4e3 -conts=5 -time=30 -name=Your_name -desc=Your_description
- Open a terminal/shell window.
- Navigate to the Lux Delux install folder.
- Run your customized Lux headless command. Here's an example for you to modify:
Code: Select all
jre8_40_private\bin\java -Djava.awt.headless=true -cp * com.sillysoft.lux.Lux -headless -network=true -public=true -map=RomanEmpireII -cards=4e3 -conts=5 -time=30 -name=Your_name -desc=Your_description
- ssh into your linux server
- download the linux package:
Code: Select all
wget http://sillysoft.net/download/LuxDelux-linux.tgz
Code: Select all
tar xzf LuxDelux-linux.tgz
Code: Select all
cd LuxDelux
- Run your customized Lux headless command. Here's an example for you to modify:
Code: Select all
linux-private-jre8_40/bin/java -Djava.awt.headless=true -cp "LuxCore.jar:lib/*" com.sillysoft.lux.Lux -headless -map=RomanEmpireII -network=true -public=true -cards=5e15 -conts=30 -time=30 -name=Your_name -desc=Your_description -shuffle3 -nofirstturncontbonus -regcode=LD-YOUR-REGCODE
Code: Select all
nohup YOUR_CUSTOMIZED_VERSION_OF_ABOVE_COMMAND &> logfile.txt &
You can join your own headless server (and you'll be promoted to the host). If you're having trouble joining it from the same computer, try entering '0' into the 'private game address' box in the Join Game window and clicking Join. (You'll need to clear the private address field to join any other listed games fyi)
The headless server will not play games with all bots, to save CPU.
The following command line options are supported:
-name=hostname
-map=ClassicPartDeux (remove all spaces from map names)
-desc=Hello_everyone (replace all spaces with underscores)
-time=30
-conts=15
-cards=51015
-unranked
-placed
-scenario
-bio1 to -bio6
-shuffle2 (randomize and winner stays)
-shuffle3 (highest ranked players)
-shuffle4 (cycle out game losers)
-public=true
-port=6619
-agent=<bot> (can also use the values "networkplayeronly" or "networkplayeronlyfull")
-regCode=CODE (if you're getting notices about pirates or non-registered account)
-gamelimit=45
-nofirstturncontbonus
-novariablestart (turns off extra starting armies for last players)
If you want unicode output in the shell window, add -Dfile.encoding=UTF8 to the command you run.
If you want to host multiple rooms on the same computer, you need to specify a different -port setting for each of them (use 6620, 6621, etc).
You can turn off bot-only games by typing /set abortbotgames as the host in the chat. Do it when you only have 1 instance of Lux running. This works for both normal and headless servers.