Linux server not working



  • I want to create a Docker Image for dedicated chivalry server. https://www.docker.com/
    So if anyone wants a linux server for it, he could set it up in a minute.

    But right now I cant join the server and if I set up rcon and try to connect to it with http://forums.tornbanner.com/topic/23235/chivadmin-rcon-tool its telling me ip and port are fine but couldnt connect.
    Because of this I could need help to set this up and have a few questions.

    Because I have way more questions as a day before, iam starting a new Thread and will link both posts.
    -> Link to initial post: http://forums.tornbanner.com/topic/21416/native-linux-server-available/71

    1. How I installed the server: (most of the current Dockerfile)
    #built on ubuntu:16.04 but if i should use another, just tell it, not a big thing to test another
    SERVER_GROUP_ID=xxx
    SERVER_GROUP_DUMMY=xxx
    SERVER_USER_ID=xxx
    STEAM_DIR=/steam
    SERVER_DIR=/server
    SERVER_STARTER=/server_starter.sh
    
    apt-get update
    apt-get install -y wget tar lib32gcc1 lib32stdc++6
    mkdir ${SERVER_DIR}
    mkdir ${STEAM_DIR}
    cd ${STEAM_DIR}
    wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
    tar -xf steamcmd_linux.tar.gz
    rm -f steamcmd_linux.tar.gz
    groupadd -g ${SERVER_GROUP_DUMMY} dummy
    groupadd -g ${SERVER_GROUP_ID} server
    adduser --gecos '' --disabled-login --shell /bin/false --home ${SERVER_DIR} --uid ${SERVER_USER_ID} --gid ${SERVER_GROUP_DUMMY} server
    chown -R server:server ${SERVER_DIR}
    chown -R server:server ${STEAM_DIR}
    

    Sources:
    https://developer.valvesoftware.com/wiki/SteamCMD#Linux

    1. How I started the server:
    #!/bin/sh -ex
    sh ${STEAM_DIR}/steamcmd.sh +login anonymous +force_install_dir ${SERVER_DIR} +app_update 220070 validate +quit
    sh ${STEAM_DIR}/steamcmd.sh +login anonymous &
    cp ${STEAM_DIR}/linux32/steamclient.so ${SERVER_DIR}/Binaries/Linux/lib
    echo 219640 > ${SERVER_DIR}/Binaries/Linux/steam_appid.txt
    cd ${SERVER_DIR}/Binaries/Linux
    ./UDKGameServer-Linux AOCTO-Hillside_P\?steamsockets -seekfreeloadingserver -port=7777 -queryPort=7778
    

    Sources:
    https://developer.valvesoftware.com/wiki/SteamCMD#Automating_SteamCMD
    https://developer.valvesoftware.com/wiki/Dedicated_Servers_List#Linux_Dedicated_Servers
    http://forums.tornbanner.com/topic/21416/native-linux-server-available
    https://tornbannerjira.atlassian.net/wiki/display/CHIVCOM/Detailed+Configuration

    Install Log: (a little bit shortened because spoiler dont work?)

    [  0%] Downloading update (0 of 10285 KB)...
    #[...]
    [100%] Download Complete.
    [----] Applying update...
    [----] Extracting package...
    #[...]
    [----] Installing update...
    #[...]
    [----] Cleaning up...
    [----] Update complete, launching...
    Redirecting stderr to '/server/Steam/logs/stderr.txt'
    [  0%] Checking for available updates...
    [----] Downloading update (0 of 7162 KB)...
    [  0%] Downloading update (1866 of 7162 KB)...
    #[...]
    [100%] Download complete.
    [----] Installing update...
    [----] Extracting package...
    #[...]
    [----] Installing update...
    #[...]
    [----] Cleaning up...
    [----] Update complete, launching Steam...
    Redirecting stderr to '/server/Steam/logs/stderr.txt'
    [  0%] Checking for available updates...
    [----] Verifying installation...
    Steam Console Client (c) Valve Corporation
    -- type 'quit' to exit --
    Loading Steam API...Created shared memory when not owner SteamController_Shared_mem
    OK.
    
    Connecting anonymously to Steam Public...Logged in OK
    Waiting for license info...OK
     Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
     Update state (0x11) preallocating, progress: 83.26 (1042071725 / 1251543403)
     Update state (0x61) downloading, progress: 9.39 (117523222 / 1251543403)
    #[...]
    Success! App '220070' fully installed.
    /steam/steamcmd.sh: 7: [: Linux: unexpected operator
    /steam/steamcmd.sh: 21: [: unexpected operator
    /steam/steamcmd.sh: 21: [: unexpected operator
    /steam/steamcmd.sh: 34: /steam/steamcmd.sh: /steam/steamcmd: not found
    [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
    Setting breakpad minidump AppID = 219640
    Loading library: libPhysXCooking.so
    Result of loading library libPhysXCooking.so: 0xa905a00
    Loading library: PhysXUpdateLoader.so
    ERROR: PhysXUpdateLoader.so: cannot open shared object file: No such file or directory
    Result of loading library PhysXUpdateLoader.so: 0x0
    Loading library: libPhysXCore.so
    Result of loading library libPhysXCore.so: 0xa905780
    

    This error comes from the Steam login not from the update & validate the line before:

    /steam/steamcmd.sh: 7: [: Linux: unexpected operator
    /steam/steamcmd.sh: 21: [: unexpected operator
    /steam/steamcmd.sh: 21: [: unexpected operator
    /steam/steamcmd.sh: 34: /steam/steamcmd.sh: /steam/steamcmd: not found
    
    1. after installation, starting console output
    [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
    Setting breakpad minidump AppID = 219640
    Loading library: libPhysXCooking.so
    Result of loading library libPhysXCooking.so: 0xa26fa00
    Loading library: PhysXUpdateLoader.so
    ERROR: PhysXUpdateLoader.so: cannot open shared object file: No such file or directory
    Result of loading library PhysXUpdateLoader.so: 0x0
    Loading library: libPhysXCore.so
    Result of loading library libPhysXCore.so: 0xa26f780
    

    Like this post http://forums.tornbanner.com/topic/21416/native-linux-server-available
    the output is fine.

    My Questions to this are:

    1. Are these steps above the normal way to install the linux server?
      1.1 Are maybe any dependencies missing? Or do you see some which dont work correct?
      1.2 If iam looking in the processes of the user, I see only bash / sh / UDKGameSer… but nothing direct to Steam, should I? Should SteamCMD run the whole time?

    2. Ports 7777/udp, 7778, 27015.
      2.1 Are these ports the default?
      2.2 For what are these ports default?
      2.3 UDP/TCP?

    3. I couldnt find any .log even if I use -log=${SERVER_DIR}/sl_chiv.log
      3.1 Are logs created default?
      3.2 Where is the default log dir?

    4. I read in this forum about an issue with config changes.
      4.1 is this still neccessary to handle config changes like this?

    Thanks for your time!



  • $ uname -a
    Linux s04 4.4.0-34-generic #53-Ubuntu SMP Wed Jul 27 16:06:39 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    $ LD_LIBRARY_PATH=~/.steam/sdk32/:/srv/chivalry/private/linux64:/srv/chivalry/private/Binaries/Linux/lib ./UDKGameServer-Linux aocffa-moor_p\?steamsockets\?adminpassword=secret\?port=7000\?queryport=7010 -seekfreeloadingserver
    [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
    Setting breakpad minidump AppID = 219640
    Loading library: libPhysXCooking.so
    Result of loading library libPhysXCooking.so: 0xa8dea00
    Loading library: PhysXUpdateLoader.so
    ERROR: PhysXUpdateLoader.so: cannot open shared object file: No such file or directory
    Result of loading library PhysXUpdateLoader.so: 0x0
    Loading library: libPhysXCore.so
    Result of loading library libPhysXCore.so: 0xa8de780
    ^C
    $ find . | grep -i "physx.*\.so"
    ./Binaries/Linux/lib/libPhysXCooking.so
    ./Binaries/Linux/lib/libPhysXExtensions.so.1
    ./Binaries/Linux/lib/libPhysXCore.so
    ./Binaries/Linux/lib/libPhysXLoader.so.1
    $ netstat -tulpn | grep UDK
    tcp        0      0 0.0.0.0:27960           0.0.0.0:*               LISTEN      3981/UDKGameServer-
    udp        0      0 0.0.0.0:7000            0.0.0.0:*                           3981/UDKGameServer-
    udp        0      0 0.0.0.0:7001            0.0.0.0:*                           3981/UDKGameServer-
    udp        0      0 0.0.0.0:7010            0.0.0.0:*                           3981/UDKGameServer-
    

    strace:

    978235 gettimeofday({1476953702, 184945}, NULL) = 0
    978236 gettimeofday({1476953702, 184972}, NULL) = 0
    978237 gettimeofday({1476953702, 185006}, NULL) = 0
    978238 nanosleep({0, 27876000}, NULL)          = 0
    978239 gettimeofday({1476953702, 213033}, NULL) = 0
    978240 sched_yield()                           = 0
    978241 gettimeofday({1476953702, 213094}, NULL) = 0
    978242 sched_yield()                           = 0
    978243 gettimeofday({1476953702, 213148}, NULL) = 0
    978244 sched_yield()                           = 0
    978245 gettimeofday({1476953702, 213202}, NULL) = 0
    978246 sched_yield()                           = 0
    978247 gettimeofday({1476953702, 213256}, NULL) = 0
    978248 sched_yield()                           = 0
    978249 gettimeofday({1476953702, 213309}, NULL) = 0
    978250 sched_yield()                           = 0
    978251 gettimeofday({1476953702, 213380}, NULL) = 0
    978252 sched_yield()                           = 0
    978253 gettimeofday({1476953702, 213486}, NULL) = 0
    978254 sched_yield()                           = 0
    978255 gettimeofday({1476953702, 213559}, NULL) = 0
    978256 sched_yield()                           = 0
    978257 gettimeofday({1476953702, 213614}, NULL) = 0
    978258 sched_yield()                           = 0
    978259 gettimeofday({1476953702, 213670}, NULL) = 0
    978260 sched_yield()                           = 0
    978261 gettimeofday({1476953702, 213725}, NULL) = 0
    978262 sched_yield()                           = 0
    978263 gettimeofday({1476953702, 213786}, NULL) = 0
    978264 sched_yield()                           = 0
    978265 gettimeofday({1476953702, 213852}, NULL) = 0
    978266 sched_yield()                           = 0
    978267 gettimeofday({1476953702, 213913}, NULL) = 0
    978268 sched_yield()                           = 0
    978269 gettimeofday({1476953702, 213972}, NULL) = 0
    978270 sched_yield()                           = 0
    978271 gettimeofday({1476953702, 214029}, NULL) = 0
    978272 sched_yield()                           = 0
    978273 gettimeofday({1476953702, 214085}, NULL) = 0
    978274 sched_yield()                           = 0
    978275 gettimeofday({1476953702, 214141}, NULL) = 0
    978276 sched_yield()                           = 0
    978277 gettimeofday({1476953702, 214212}, NULL) = 0
    978278 sched_yield()                           = 0
    978279 gettimeofday({1476953702, 214300}, NULL) = 0
    978280 sched_yield()                           = 0
    978281 gettimeofday({1476953702, 214386}, NULL) = 0
    978282 sched_yield()                           = 0
    978283 gettimeofday({1476953702, 214468}, NULL) = 0
    978284 sched_yield()                           = 0
    978285 gettimeofday({1476953702, 214598}, NULL) = 0
    978286 sched_yield()                           = 0
    978287 gettimeofday({1476953702, 214733}, NULL) = 0
    978288 sched_yield()                           = 0
    978289 gettimeofday({1476953702, 214800}, NULL) = 0
    978290 sched_yield()                           = 0
    978291 gettimeofday({1476953702, 214862}, NULL) = 0
    978292 gettimeofday({1476953702, 214890}, NULL) = 0
    978293 gettimeofday({1476953702, 214918}, NULL) = 0
    978294 gettimeofday({1476953702, 214951}, NULL) = 0
    978295 recvfrom(208, 0xffb460a0, 576, 0, 0xffb46040, 0xffb45fdc) = -1 EAGAIN (Resource temporarily unavailable)
    978296 select(212, NULL, NULL, [211], {0, 0})  = 0 (Timeout)
    978297 select(212, [211], NULL, NULL, {0, 0})  = 0 (Timeout)
    978298 recv(211, 0xffb45e48, 999, 0)           = -1 ENOTCONN (Transport endpoint is not connected)
    978299 gettimeofday({1476953702, 215409}, NULL) = 0
    978300 gettimeofday({1476953702, 215444}, NULL) = 0
    978301 futex(0x109af3cc, FUTEX_WAKE_PRIVATE, 1) = 1
    978302 futex(0x109af3e4, FUTEX_WAKE_PRIVATE, 1) = 1
    978303 gettimeofday({1476953702, 215647}, NULL) = 0
    978304 futex(0x109af364, FUTEX_WAIT_PRIVATE, 2, NULL) = 0
    978305 futex(0x109af364, FUTEX_WAKE_PRIVATE, 1) = 0
    978306 gettimeofday({1476953702, 215939}, NULL) = 0
    

    The server does not start as is visible by either entering it into the favourites in the steam server browser or by the fact that the steam server query port does not open up.
    I’ve been able to start a dedicated server on my PC and checked the ports there and it’s been using 27015.

    TB listening servers don’t (or barely) work, most of the time one person can just not connect to another person but vice versa but them someone else can’t connect so if you’re not fixing listening servers, at least fix dedicated servers PLEASE!