ESF Dedicated Server for Linux

NOT IN THE MANGA™
★ Black Lounger ★
✔️ HL Verified
🚂 Steam Linked
💻 Oldtimer
Joined
Jan 5, 2008
Messages
3,276
Best answers
0
Location
Lithuania
This will guide you through the installation of ESF 1.2.3 Dedicated Server on Linux platform.


  1. Install SteamCMD by following the official SteamCMD guide.

  2. Install Half-Life server files via SteamCMD:
    • (Optional) Set install directory for easier access, otherwise the installation will be located in Steam/steamapps/half-life:
      Code:
      force_install_dir ./hlds
    • Now install Half-Life files:
      Code:
      app_update 90 -beta beta validate
      Repeat this command multiple times to make sure all files were downloaded and validated.
  3. Upload ESF files to the same directory (Steam/hlds if you set custom install directory, otherwise Steam/steamapps/half-life). Inner folder structure should look like this:

    cstrike
    esf
    valve
    etc.

  4. Inside esf folder, create a text file named steam_appid.txt and write number 70 in it. Save the file.

  5. Download Metamod-P and set it up as follows:
    • Put file metamod.so inside esf/addons/metamod/dlls folder.

    • Create file config.ini inside esf/addons/metamod folder and write in it the following:
      Code:
      gamedll linuxdlls/hl_i386.so
  6. Edit file liblist.gam: Change
    Code:
    gamedll_linux "linuxdlls/hl_i386.so"
    to
    Code:
    gamedll_linux "addons/metamod/dlls/metamod.so"
ESF server should be launchable now:
Code:
# Go to HLDS directory
cd ~/Steam/hlds

# Launch server
./hlds_run -game esf -maxplayers 32 +map esf_cell_games
  1. Make a directory where you want your HLDS to be. I've chose root/hlds.
    Code:
    cd /root
    mkdir hlds
    cd /root/hlds
  2. Download HLDS Update Tool into HLDS directory.
    Code:
    wget http://storefront.steampowered.com/download/hldsupdatetool.bin
  3. Chmod hldsupdatetool.bin file and open it.
    Code:
    chmod +x hldsupdatetool.bin
    ./hldsupdatetool.bin
  4. Now you're asked if you want to install HLDS Update Tool. Simply write "yes":
    Code:
    yes
  5. HLDS Update Tool has been installed. Now we need to get HLDS files. Launch steam file so it would gather the required info.
    Code:
    ./steam
  6. After some time it will tell you that updating is finished and you need to restart the command. That means we now can start downloading HLDS files.
    Code:
    ./steam -command update -game valve -dir .
    Wait till download progress is 100% and it says "HLDS installation up to date" or something similar.
  7. Now we need to put ESF files into that installation. Put your esf directory into HLDS installation folder. It should look like this after you finished: root/hlds/esf.
  8. Now open esf folder and create a file named steam_appid.txt and write number 70 in it. Then save the file.
  9. Now delete dlls folder and then rename folder linuxdlls to dlls. Then open file liblist.gam and replace "linuxdlls" with "dlls" (e.g. from "linuxdlls/hl_i386.so" to "dlls/hl_i386.so", etc.).
  10. It should be finished, but once you'll try to launch the server, it'll say that ESF's DLL is outdated. Download hlds_i686 file, which is taken from an older HLDS build with which ESF's engine DLL is compatible. Put it into your HLDS directory (root/hlds) and chmod it.
    Code:
    chmod +x hlds_i686
This is it. But one important note. In server's launch command line you must add "-binary ./hlds_i686". Here's an example:
Code:
./hlds_run -binary ./hlds_i686 -game esf -pingboost 2 -secure -master -tickrate 66 -port 27015 +maxplayers 32 +map esf_cell_games_night&
Good luck.
 
Last edited:
Active Member
★ Black Lounger ★
✔️ HL Verified
💻 Oldtimer
Joined
Jul 14, 2002
Messages
8,229
Best answers
0
Location
December
Nice tutorial :), but have you actually tried this? I thought that Linux servers didn't work with ESF (at least 1.2.3) without a minor code edit?
 
NOT IN THE MANGA™
★ Black Lounger ★
✔️ HL Verified
🚂 Steam Linked
💻 Oldtimer
Joined
Jan 5, 2008
Messages
3,276
Best answers
0
Location
Lithuania
Nice tutorial :), but have you actually tried this? I thought that Linux servers didn't work with ESF (at least 1.2.3) without a minor code edit?
Yes. Explaination is in 9th part.
 
Active Member
✔️ HL Verified
💻 Oldtimer
Joined
Mar 13, 2005
Messages
3,877
Best answers
0
Hmm. Glad to see people are still out there working on this stuff.
+1 Karma
 
NOT IN THE MANGA™
★ Black Lounger ★
✔️ HL Verified
🚂 Steam Linked
💻 Oldtimer
Joined
Jan 5, 2008
Messages
3,276
Best answers
0
Location
Lithuania
It seems that I have forgotten one thing. Tutorial updated, check part 9.
 
New Member
✔️ HL Verified
Joined
Dec 28, 2010
Messages
34
Best answers
0
This isn't working for me. I get this error message:

Auto detecting CPU
Using Pentium II Optimised binary.
Half-life binary './hlds_i686' not executable, exiting
Thu Jan 5 17:16:55 MST 2012: Server Failed
And yes, I did all the steps from 7 as I am using a bought dedicated server of Half Life. And I did replaced hlds_i686 and chmoded it.

Any suggestions?
 
NOT IN THE MANGA™
★ Black Lounger ★
✔️ HL Verified
🚂 Steam Linked
💻 Oldtimer
Joined
Jan 5, 2008
Messages
3,276
Best answers
0
Location
Lithuania
I don't have a Linux server to re-test this with the up-to-date HLDS build, but it worked like a charm at the time I made the guide and also the error you're getting doesn't make sense to me.

Are you completely sure that you performed the

Code:
chmod +x hlds_i686
command?

I've tried Googling the "/hlds_i686' not executable, exiting" and it seems there are other several occasions similar to yours, each of them on Pentium II as well.
 
New Member
✔️ HL Verified
Joined
Dec 28, 2010
Messages
34
Best answers
0
Yes, I'm sure.
And yes, I searched on Google and all the problems were in strange languages to me :D
And I hope you do realize that the CPU wasn't a Pentium II...
Anyway, the problem, as many more were solved. Sadly, I don't remember which was the cause for this problem.

Thank you hleV for trying to help me!
 
indeed
✔️ HL Verified
Discord Member
Joined
Oct 11, 2011
Messages
34
Best answers
0
Hi I know that this is an old thread but i have some issues when i want to run a server with ECX on linux.

When i want to join, the server response: "STEAM validation rejected".
and i'm running with the original half life on steam !

I will try some things... but if you know a way to fix this, plz tell me xd

(sorry for my bad english)
 
Swag
🌈 Beta Tester
👮 Moderator
✔️ HL Verified
🚂 Steam Linked
🌟 Senior Member
Joined
May 9, 2009
Messages
922
Best answers
1
Location
Behind 'yo house!
Hi I know that this is an old thread but i have some issues when i want to run a server with ECX on linux.

When i want to join, the server response: "STEAM validation rejected".
and i'm running with the original half life on steam !

I will try some things... but if you know a way to fix this, plz tell me xd

(sorry for my bad english)
Did you follow all steps here including the steam app id? Also is it from a hoster or your home?
 
NOT IN THE MANGA™
★ Black Lounger ★
✔️ HL Verified
🚂 Steam Linked
💻 Oldtimer
Joined
Jan 5, 2008
Messages
3,276
Best answers
0
Location
Lithuania
Try changing the value of sv_lan. If it's not it, then I'm not sure, as I've never tried to run an ECX server on Linux. You could try PMing this guy, as I'm positive he's running his ESFORCES.LT # ECX+AF Arena [24/7] server on Linux.
 
indeed
✔️ HL Verified
Discord Member
Joined
Oct 11, 2011
Messages
34
Best answers
0
I reinstall ecx rc2 + ecx rc1 in the server and now the server connects but drop me. in the game console says: "Server is running game ecx. Restart in that game to connect"
And i'm playing with ECX O_O

Did you follow all steps here including the steam app id? Also is it from a hoster or your home?
Yes, i have no problem if i create a normal ESF 1.2.3.

The steamapp_id.txt is in the folder.

In my home, but in a different pc with Ubuntu Server 64bits installed. I control the server via SSH and control the files with SFTP


----


Edit: Problem solved... the folder games was different. that's the "Server is running game ecx. Restart in that game to connect".

Now i can't install metamod, the servers crash with segmentation fault.. i will see what happens...
 
Last edited:
Swag
🌈 Beta Tester
👮 Moderator
✔️ HL Verified
🚂 Steam Linked
🌟 Senior Member
Joined
May 9, 2009
Messages
922
Best answers
1
Location
Behind 'yo house!
Edit: Problem solved... the folder games was different. that's the "Server is running game ecx. Restart in that game to connect".

Now i can't install metamod, the servers crash with segmentation fault.. i will see what happens...
I don't remember if it was EVM or ECX it used to crash with.. but incase it's not then try edit your windows line out of your liblist.gam file.. make it look like this instead:

Code:
//  Earth Special Forces Game Info file

game "Earth`s Special Forces"

url_info "http://www.esforces.com"

url_dl "http://www.esforces.com/files.php"



version "Beta 1.2.3"

size "125002292"							

svonly "0"

cldll "0"

type "multiplayer_only"

nomodels "1"

//gamedll "dlls\hl.dll"

//gamedll "esf_bot\esf_bot.dll"

//gamedll_linux "dlls/hl_i386.so"
gamedll "addons\metamod\dlls\metamod.dll"
gamedll_linux "addons/metamod/dlls/metamod_i386.so"
Try replace it with that and tell me if it works now (DO KEEP A COPY OF THE ORIGINAL)
 
Last edited:
indeed
✔️ HL Verified
Discord Member
Joined
Oct 11, 2011
Messages
34
Best answers
0
Thanks for the help

I reinstall the amxmodx using the installation program via ftp... and put that liblist.gam

sometimes shows me that error, and sometimes starts ok. But now i actually see that the servers shows like normal esf 1.2.3 and not ECX [?] it seems like ecx is not installed
 
Last edited:
Swag
🌈 Beta Tester
👮 Moderator
✔️ HL Verified
🚂 Steam Linked
🌟 Senior Member
Joined
May 9, 2009
Messages
922
Best answers
1
Location
Behind 'yo house!
Thanks for the help

I reinstall the amxmodx using the installation program via ftp... and put that liblist.gam

sometimes shows me that error, and sometimes starts ok. But now i actually see that the servers shows like normal esf 1.2.3 and not ECX [?] it seems like ecx is not installed
Shows or is it like 1.2.3?

And which error?

And it was home pc right? why use ftp installer? o_O
 
Freelance Mappzor
✔️ HL Verified
🚂 Steam Linked
💻 Oldtimer
Joined
Nov 21, 2003
Messages
17,065
Best answers
0
Location
Stairing at the Abyss
You probably overwrote the ECX pluggin calls when you reinstalled AMXX.
 
Swag
🌈 Beta Tester
👮 Moderator
✔️ HL Verified
🚂 Steam Linked
🌟 Senior Member
Joined
May 9, 2009
Messages
922
Best answers
1
Location
Behind 'yo house!
You probably overwrote the ECX pluggin calls when you reinstalled AMXX.
Maybe you should re install everything from scratch... install AMX and overwrite that libist and see how it works.
 
indeed
✔️ HL Verified
Discord Member
Joined
Oct 11, 2011
Messages
34
Best answers
0
I reinstall de ECX RC2 and RC1 (with Server things checked, in other words the amxmodx that comes with the ECX for windows) in the esf folder and put the liblist.gam.

The amxmodx initially not work. But i upload the .so files and delete de .dll files and i edit the plugin.ini in metamod folder adding: "linux addons/amxmodx/dlls/amxmodx_mm_i386.so"

and in "amxmodx/modules" I upload the .so files to. (fakemeta_amxx_i386.so, etc...")

And the servers still not work... X_X

server log:

Code:
L 05/01/2012 - 20:56:27: -------- Mapchange to esf_cell_games_night --------
L 05/01/2012 - 20:56:27: [AMXX] Plugin "ETC/SX.Bodypart.amxx" failed to load: Plugin uses an unknown function (name "addArrows") - check your modules.ini.
L 05/01/2012 - 20:56:27: [AMXX] Plugin ("CORE/Core.amxx") is setting itself as failed.
L 05/01/2012 - 20:56:27: [AMXX] Plugin says: << CRITICAL >> Invalid Earth's Special Forces

L 05/01/2012 - 20:56:27: [AMXX] Displaying debug trace (plugin "CORE/Core.amxx")
L 05/01/2012 - 20:56:27: [AMXX] Run time error 1: forced exit
L 05/01/2012 - 20:56:27: [AMXX]    [0] HooK.core::plugin_precache (line 69)
L 05/01/2012 - 20:56:28: Called dynanative into a paused plugin.
L 05/01/2012 - 20:56:28: [AMXX] Displaying debug trace (plugin "CORE/Ascend.amxx")
L 05/01/2012 - 20:56:28: [AMXX] Run time error 10: native error (native "getGameVERSION")
L 05/01/2012 - 20:56:28: [AMXX]    [0] HooK.core::plugin_init (line 25)
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
L 05/01/2012 - 20:56:28: Called dynanative into a paused plugin.
L 05/01/2012 - 20:56:28: [AMXX] Displaying debug trace (plugin "CORE/Dragonball.amxx")
L 05/01/2012 - 20:56:28: [AMXX] Run time error 10: native error (native "getGameMODE")
L 05/01/2012 - 20:56:28: [AMXX]    [0] .Dragonball.core::server_frame (line 89)
I will do a paralel server and install the last version of amxmodx and try to put the AMXX files of ECX...
I don't know what more i can do.
Greetings.
 
Swag
🌈 Beta Tester
👮 Moderator
✔️ HL Verified
🚂 Steam Linked
🌟 Senior Member
Joined
May 9, 2009
Messages
922
Best answers
1
Location
Behind 'yo house!
I reinstall de ECX RC2 and RC1 (with Server things checked, in other words the amxmodx that comes with the ECX for windows) in the esf folder and put the liblist.gam.

The amxmodx initially not work. But i upload the .so files and delete de .dll files and i edit the plugin.ini in metamod folder adding: "linux addons/amxmodx/dlls/amxmodx_mm_i386.so"

and in "amxmodx/modules" I upload the .so files to. (fakemeta_amxx_i386.so, etc...")

And the servers still not work... X_X

server log:

Code:
L 05/01/2012 - 20:56:27: -------- Mapchange to esf_cell_games_night --------
L 05/01/2012 - 20:56:27: [AMXX] Plugin "ETC/SX.Bodypart.amxx" failed to load: Plugin uses an unknown function (name "addArrows") - check your modules.ini.
L 05/01/2012 - 20:56:27: [AMXX] Plugin ("CORE/Core.amxx") is setting itself as failed.
L 05/01/2012 - 20:56:27: [AMXX] Plugin says: << CRITICAL >> Invalid Earth's Special Forces

L 05/01/2012 - 20:56:27: [AMXX] Displaying debug trace (plugin "CORE/Core.amxx")
L 05/01/2012 - 20:56:27: [AMXX] Run time error 1: forced exit
L 05/01/2012 - 20:56:27: [AMXX]    [0] HooK.core::plugin_precache (line 69)
L 05/01/2012 - 20:56:28: Called dynanative into a paused plugin.
L 05/01/2012 - 20:56:28: [AMXX] Displaying debug trace (plugin "CORE/Ascend.amxx")
L 05/01/2012 - 20:56:28: [AMXX] Run time error 10: native error (native "getGameVERSION")
L 05/01/2012 - 20:56:28: [AMXX]    [0] HooK.core::plugin_init (line 25)
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
L 05/01/2012 - 20:56:28: Called dynanative into a paused plugin.
L 05/01/2012 - 20:56:28: [AMXX] Displaying debug trace (plugin "CORE/Dragonball.amxx")
L 05/01/2012 - 20:56:28: [AMXX] Run time error 10: native error (native "getGameMODE")
L 05/01/2012 - 20:56:28: [AMXX]    [0] .Dragonball.core::server_frame (line 89)
I will do a paralel server and install the last version of amxmodx and try to put the AMXX files of ECX...
I don't know what more i can do.
Greetings.
Did you do step 9 properly like hleV said you should in the thread post? And don't do anything with the liblist.gam yourself.. just take the one I have given you .. unless it gives disturbance with ECX in some way my liblist.gam should work properly

Works on all 4 of my servers.
 

Users who are viewing this thread

Top Bottom