Linux Dedicated Server

Discussion in 'Support' started by Mr.T, Feb 9, 2009.

  1. Mr.T

    Mr.T Member

    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    0
    Hello all, here's a quick guide for configuring Empires on a Linux host.
    Edited by Kane.

    First of all create yourself a directory to install into, and jump in it (and export for future reference)
    Code:
    $ mkdir empires-1
    # cd empires-1
    # export EMPIRES_DIR=$PWD
    Then download and extract the hlds tool
    Code:
    # wget http://storefront.steampowered.com/download/hldsupdatetool.bin
    --17:10:35--  http://storefront.steampowered.com/download/hldsupdatetool.bin
               => `hldsupdatetool.bin'
    Resolving storefront.steampowered.com... 117.121.249.42, 117.121.249.40
    Connecting to storefront.steampowered.com|117.121.249.42|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 3,513,408 (3.4M) [application/octet-stream]
    
    100%[=================================================================================================================>] 3,513,408    338.69K/s    ETA 00:00
    
    17:10:48 (296.19 KB/s) - `hldsupdatetool.bin' saved [3513408/3513408]
    
    root@server# chmod +x hldsupdatetool.bin 
    root@server# ./hldsupdatetool.bin
    Next you'll need to install orangebox from the extracted steam binary. This will take a while.
    Code:
    # ./steam -command update -game orangebox -dir .
    Change directory to the orange box directory, and download the Empires zip and hotfix
    Code:
    # cd orangebox
    # wget http://raegquit.com/coffeeburrito/Empires_2.24b_server_full.zip
    # wget http://mirror.kane.cx/freeshare/empires/empires-2.24e_linux_hotfix.tar.bz2
    Unzip the file in your /empires-1/orangebox/ directory
    Code:
    # unzip Empires*.zip
    I suggest you edit the server.cfg file to place your hostname and other custom settings in
    If it says some strange thing like empires/cfg/server.cfg not found, try replacing $EDITOR with 'nano' or 'vi' or something.
    Code:
    # $EDITOR empires/cfg/server.cfg
    Now create the start scripts.
    startchild.sh:
    Code:
    cat > startchild.sh << EOF
    #!/bin/sh
    ARGSFILE="args.txt"
    # Put arguments that should can be changed in $ARGSFILE, then kill the server once to restart them.
    CMD="./srcds_run -console -game empires +ip 85.25.76.53 -port 27015 -tickrate 33 +sv_lan 0 -norestart"
    
    while [ ! -f "exit" ]; do
    # Default args
    ARGS="+map emp_district402 +maxplayers 48"
    [ -e $ARGSFILE ] && ARGS="$(cat $ARGSFILE)"
    su - $SUUSER -c "$CMD $ARGS"
    done
    EOF
    chmod +x startchild.sh
    
    start.sh:
    Code:
     cat > start.sh << EOF
    #!/bin/sh
    SUUSER="empires-1" screen -dmS $SUUSER ./startchild.sh
    EOF
    chmod +x start.sh
    
    Create the argsfile:
    Code:
    cat > args.txt << EOF
    +map emp_district402 +maxplayers 48
    EOF
    Create the user + group and set permissions:
    Code:
    addgroup --system empires-1
    adduser --system --home $EMPIRES_DIR --group empires-1 empires-1
    chmod o-rwx -R $EMPIRES_DIR
    chmod g=u -R $EMPIRES_DIR
    chown empires-1:empires-1 -R $EMPIRES_DIR
    Start it and attach to the screen session.
    Code:
    ./start.sh
    screen -r empires-1
    You should now have the server running infront of you!
    Detach with Ctrl-a + d.
    Good luck!

    Notes: NEVER run the server as root. Thanks.
     
    Last edited by a moderator: Oct 8, 2009
  2. Kane

    Kane Member

    Messages:
    1,337
    Likes Received:
    0
    Trophy Points:
    0
    Bump. I updated this to match the latest release and edited it a bit.
     
  3. Arterix

    Arterix Member

    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    0
    Is this thread still accurate and/or are there new URLs to use for download?
     
  4. Beerdude26

    Beerdude26 OnThink(){ IsDownYet(); }

    Messages:
    7,243
    Likes Received:
    13
    Trophy Points:
    0
    The Source SDK's Linux support is completely insufficient for a demanding mod such as Empires. Thus, Empires Linux binaries have been discontinued for quite some time.
     
  5. MOOtant

    MOOtant Member

    Messages:
    4,047
    Likes Received:
    0
    Trophy Points:
    0
    Exactly, look what Valve said about performance of their servers in SDK 2007 on Linux. They rewrote it completely around L4D and that engine version could support Empires on Linux quite reliably.
     
  6. Beerdude26

    Beerdude26 OnThink(){ IsDownYet(); }

    Messages:
    7,243
    Likes Received:
    13
    Trophy Points:
    0
    Valve talked about it somewhere?
     
  7. w00kie

    w00kie Mustachioed Mexican

    Messages:
    3,863
    Likes Received:
    13
    Trophy Points:
    0
    MOOtant > Valve.
     
  8. MOOtant

    MOOtant Member

    Messages:
    4,047
    Likes Received:
    0
    Trophy Points:
    0
    hlcoders maybe. One of Valve guy answered question why does Source2007 suck so much after someone ptraced it. He said they fixed it for multiple servers/process(machine) for L4D and earlier engine versions won't get optimized at all.
     
  9. CyberKiller

    CyberKiller Nyooks!

    Messages:
    1,107
    Likes Received:
    8
    Trophy Points:
    0
    Why is this thread even still stickyed?
     
  10. MOOtant

    MOOtant Member

    Messages:
    4,047
    Likes Received:
    0
    Trophy Points:
    0
    Because no one got around to unsticking it. Linux server is in no way recommended.
     

Share This Page