Just setup my first UT3 server on Linux. I can't even play the game so I don't know if or what is listing in the server browser, but a friend was able to connect by using his console and connecting to the IP address.
I pretty much got it going on my experience running a small UT2004 server and there seems to be alot of documentation missing, or atleast not spoken (perhaps everyone here already knows it?), so I thought I'd contribute this.
First of all it looks like it (the GAME) only needs UDP port 7777! That makes firewall setup alot easier. It also needs UDP 14001 and 13000 which i think are Gamespy/Master server ports. I determined this by running netstat -anp after starting the server. Open up these ports on your firewall (or forward them) before starting this.
The server is compiled to need a CPU with sse, possibly sse2:
grep sse /proc/cpuinfo
if you don't get anything back, then when you try to start the server it will fail with an obscure "Illegal instruction".
This is essentially what I did, comments inline.
Code:
#First unpack the tarball
tar xfvj UT3-linux-server-betademo-10132007.tar.bz2
# Create a launch script
echo >runut3betademo.sh <<$EOF
#!/bin/bash
cd UT3-linux-server-betademo/Binaries/
./ut3demo server DM-ShangriLa?numplay=6?maxplayers=8?timelimit=20?goalscore=20?bUsesStats=true -Login=YOURLOGIN -Password=YOURPASSWORD -nohomedir
$EOF
# Make the launch script executable
chmod u+x ./runut3betademo.sh
# Create our own ini file for customization
cat >UT3-linux-server-betademo/UTGame/Config/betademo.ini <<$EOF
[Engine.GameReplicationInfo]
ServerName=MY SERVER
ShortName=MY SERVER NAME
MessageOfTheDay=A Nice|Welcome|Message
$EOF
# Edit our INI file (If you didn't above)
edit (vi/nano/etc) UT3-linux-server-betademo/UTGame/Config/betademo.ini
# Edit [Engine.GameReplicationInfo]
# Change ServerName
# Change ShortName
# Change MessageOfTheDay
#Try it out!
./runut3betademo.sh
Where does betademo.ini come into play? It seems that the server loads all ini files it can find from the UTGame/Config directory. It's right there in the log.
[code]
Log: Looking for PC DLC...
Log: Object size..............: 60
Log: Actor size...............: 436
Log: ActorComponent size......: 88
Log: PrimitiveComponent size..: 448
Log: GConfig::Find has loaded file: ../UTGame/Config/betademo.ini
[/log]
Does it work? Without a Linux client to try it out, I don't know if it's listing in the Server Browser, or even what servername is in effect, but like I said, I was able to ask a friend to connect by starting up the game pressing ` to bring down the console (in the UK that would be @, which is a bug in this beta demo) and type connect {my ip}
I'm seeing one error in the log:
Code:
ScriptWarning: UTDeathmatch DM-ShangriLa.TheWorld:PersistentLevel.UTDeathmatch_0 (Function Engine.GameInfo:OnServerCreateComplete:0092) Failed to register game with online service. Registering as a LAN match
which I believe means that my -Login -Password isn't right, but I have played the game and created a profile and I'm using that username and password but I must be missing some nuance. Ideas?
I would like to know if there's some other way, some way other than running the game, to create profile with a username and password.
Comments? Thoughts? Criticisms? Corrections?
HTH.
._.
*Edit: The Epic Games Dedicated Server thread:
http://utforums.epicgames.com/showthread.php?t=578745