Warfork

Warfork

psymin Aug 14, 2019 @ 8:21am
Warfork server hosting on Linux
Download with SteamCMD

They are currently bundled with the game files, so just download the game.

I suggest using steamcmd for this part, instructions on installing steamcmd can be found here:

https://developer.valvesoftware.com/wiki/SteamCMD

Once installed, you should be able to fetch the binaries using a command like the following:

steamcmd +@NoPromptForPassword 1 +login username password +app_update 671610 validate +quit

Now
cd
to the
steamapps/common/fvi/Warfork.app/Contents/Resources
directory. (Wherever that happens to be on your server. If you can't find it, try to "updatedb && locate Warfork.app" or "find / -type d -name Warfork.app" which might take a while.)

You can optionally use
force_install_dir
with steamcmd to manually specify a directory. If you decide to use force_install_dir, please read the SteamCMD URL above thoroughly. If you have issues, don't use it.

Optional: Edit server config variable sv_hostname

Edit the file
steamapps/common/fvi/Warfork.app/Contents/Resources/basewf/dedicated_autoexec.cfg

I recommend *only* changing the sv_hostname variable at this point until we verify everything is working. Don't set sv_ip. Don't set any other variables.

If you don't have a default config anymore, here is one[dpaste.com]

Start the daemon

Now you should be able to execute wf_server.x86_64 from the
Warfork.app/Contents/Resources
directory.

Example output:

psymin@games:~/lvm/steamapps/common/fvi/Warfork.app/Contents/Resources$ ./wf_server.x86_64 Loaded libcurl.so.4 Loaded libz.so.1 Added pk3 file ./basewf/map_wftutorial1.pk3 (2 files) Added pk3 file ./basewf/map_wfrace1.pk3 (2 files) Added pk3 file ./basewf/modules_21.pk3 (6 files) Added pk3 file ./basewf/map_wfdm6.pk3 (2 files) Added pk3 file ./basewf/map_wfdm5.pk3 (2 files) Added pk3 file ./basewf/map_wfdm4.pk3 (2 files) Added pk3 file ./basewf/map_wfdm2.pk3 (2 files) Added pk3 file ./basewf/map_wfdm18.pk3 (2 files) Added pk3 file ./basewf/map_wfdm19.pk3 (2 files) Added pk3 file ./basewf/map_wfdm17.pk3 (2 files) Added pk3 file ./basewf/map_wfdm16.pk3 (2 files) Added pk3 file ./basewf/map_wfdm15.pk3 (2 files) Added pk3 file ./basewf/map_wfdm14.pk3 (2 files) Added pk3 file ./basewf/map_wfdm13.pk3 (2 files) Added pk3 file ./basewf/map_wfdm12.pk3 (2 files) Added pk3 file ./basewf/map_wfdm11.pk3 (4 files) Added pk3 file ./basewf/map_wfdm10.pk3 (2 files) Added pk3 file ./basewf/map_wfdm1.pk3 (2 files) Added pk3 file ./basewf/map_wfda4.pk3 (2 files) Added pk3 file ./basewf/map_wfda5.pk3 (2 files) Added pk3 file ./basewf/map_wfda3.pk3 (2 files) Added pk3 file ./basewf/map_wfda2.pk3 (2 files) Added pk3 file ./basewf/map_wfda1.pk3 (2 files) Added pk3 file ./basewf/map_wfctf4.pk3 (2 files) Added pk3 file ./basewf/map_wfctf6.pk3 (2 files) Added pk3 file ./basewf/map_wfctf3.pk3 (2 files) Added pk3 file ./basewf/map_wfctf2.pk3 (2 files) Added pk3 file ./basewf/map_wfctf1.pk3 (2 files) Added pk3 file ./basewf/map_wfca1.pk3 (2 files) Added pk3 file ./basewf/map_wfbomb6.pk3 (2 files) Added pk3 file ./basewf/map_wfdm9.pk3 (2 files) Added pk3 file ./basewf/map_wfbomb4.pk3 (2 files) Added pk3 file ./basewf/map_wfdm7.pk3 (2 files) Added pk3 file ./basewf/map_wfbomb5.pk3 (4 files) Added pk3 file ./basewf/map_wfamphi1.pk3 (2 files) Added pk3 file ./basewf/map_wfbomb3.pk3 (2 files) Added pk3 file ./basewf/map_wfbomb2.pk3 (2 files) Added pk3 file ./basewf/map_wfbomb1.pk3 (2 files) Added pk3 file ./basewf/map_ui.pk3 (6 files) Added pk3 file ./basewf/data2_21pure.pk3 (3 files) Added pk3 file ./basewf/data1_21pure.pk3 (4 files) Added pk3 file ./basewf/data0_21pure.pk3 (1155 files) Added pk3 file ./basewf/data0_21.pk3 (3399 files) Using /home/psymin/.local/share/warfork-2.1 for writing Executing: default.cfg Unknown command "unbindall" Executing: default_binds_gamepad.cfg Executing: default_binds_kbmouse.cfg Unknown command "unbind" usage: set <variable> <value> Executing: dedicated_autoexec.cfg Hostname: games IP: 10.0.0.13 IP: 10.0.0.13 IP: 10.0.0.13 Loading Steam module... Success. ------- angel script initialization ------- Loading angelwrap module. Initializing Angel Script Initialization of angelwrap successful ------------------------------------ Game running at 62 fps. Server transmit at 20 pps Added new master server #0 at 67.205.150.215:27950 Added new master server #1 at 107.161.23.68:27950 Opening TCP/IP socket: *:44444 Web server started on 0.0.0.0:44444 Opening TCP/IPv6 socket: *:44444 Web server started on [0000:0000:0000:0000:0000:0000:0000:0000]:44444 ====== Warfork Initialized ====== Couldn't execute: dedicated_autoexec_postinit.cfg Opening UDP/IP socket: *:44400 Opening UDP/IPv6 socket: *:44400 ==== G_Init ==== * Initializing Game module syntax ------- Server Initialization ------- SpawnServer: wfdm1 G_LoadGameScript: Couldn't find 'progs/maps/wfdm1.mp'. ------------------------------------- Initalizing 'ca' gametype loading configs/server/gametypes/ca.cfg ca.cfg executed * Initializing script 'progs/gametypes/ca.gt' * Loaded script section 'progs/shared/constants.as' * Loaded script section 'progs/shared/utils.as' * Loaded script section 'progs/shared/files.as' * Loaded script section 'progs/gametypes/generic/quickmenu.as' * Loaded script section 'progs/gametypes/generic/matchstates.as' * Loaded script section 'progs/gametypes/generic/bots.as' * Loaded script section 'progs/gametypes/generic/awards.as' * Loaded script section 'progs/gametypes/ca.as' * Loaded script section 'progs/gametypes/legacy/quake1.as' Gametype 'Clan Arena' initialized : AI Navigation Initialized. -------------------------------------

From the console, type "heartbeat". You should see this output:

heartbeat Sending heartbeat to 67.205.150.215:27950 Sending heartbeat to 107.161.23.68:27950

Default Ports

UDP: 44400 TCP: 44444

If you are behind NAT, ensure that you have the ports forwarded.[www.noip.com]


Troubleshooting

Contact the folks on Discord[discord.gg] and we'll see if we can help you out.

Potential Issues

  • Server not showing up in browser
    Use the default config without any changes.
    Ensure your ports are forwarded if you are behind NAT
    Type "heartbeat" in your server console (without the quotes)
  • Voting not working
    Potentially a libcurl issue, you'll see a warning when the server starts up.
  • angelscript issues

SERVER UPDATES

If we are using SteamCMD, then server updates should be fairly easy.

steamcmd +@NoPromptForPassword 1 +login username password +app_update 671610 validate +quit

We can add this to a shell script and call it from cron. (TODO: pastebin a shell script and insert crontab info)


Last edited by psymin; Aug 21, 2019 @ 8:53pm
< >
Showing 1-15 of 17 comments
psymin Aug 14, 2019 @ 9:52am 
If your server is not functioning properly, please compare the output from your server when it launches to the example output above.

Feel free to pastebin it and share it with us and we can try to help you out.
psymin Aug 15, 2019 @ 8:12am 
If you're familiar with LinuxGSM this might be helpful:
https://github.com/psymin/LinuxGSM/tree/feature/warfork

Zebrazilla Aug 16, 2019 @ 5:37pm 
Seeing as there has now been a radio silent release of sorts, will fetching work with anonymous login yet or is that planned for later down the line?
psymin Aug 16, 2019 @ 7:23pm 
Appears to fetch w/ anonymous login now:

$ ./steamcmd.sh +@sSteamCmdForcePlatformType linux +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +login anonymous +app_update 671610 validate +quit Redirecting stderr to '/home/psymin/Steam/logs/stderr.txt' [] Checking for available updates... [----] Verifying installation... Steam Console Client (c) Valve Corporation -- type 'quit' to exit -- Loading Steam API...OK. "@sSteamCmdForcePlatformType" = "linux" "@ShutdownOnFailedCommand" = "1" "@NoPromptForPassword" = "1" Connecting anonymously to Steam Public...Logged in OK Waiting for user info...OK Update state (0x5) validating, progress: 0.00 (0 / 0) Success! App '671610' fully installed.
Smango Aug 17, 2019 @ 9:25pm 
Login anonymous isn't downloading the files for me, had to use my account to get the correct download. :steamhappy:
Kazmatics Aug 18, 2019 @ 5:38am 
I had 2 issues when trying to follow this guide (now resolved):

1) Downloading the game to the server did not work when logged into SteamCMD as anonymous. Needed to use Steam account.

2) I used forced dir and my warfork directory looked completely different. The find command gave me a bunch of access denied messages when logged in as steam user, and wouldn't function at all when logged in as root. The path to the folder which hosts my dedicated_autoexec.cfg is home/steam/warfork/Warfork.app/Contents/Resources/basewf. I ended up just downloading FileZilla and looking on there.

Edit: to clarify, "warfork" was what i set as the new directory when using force dir


Thanks for posting this guide.
Last edited by Kazmatics; Aug 18, 2019 @ 2:48pm
psymin Aug 18, 2019 @ 8:30am 
Thanks for posting your issues!

Did either of you get steam keys for access to the game before Early Access?
Last edited by psymin; Aug 18, 2019 @ 8:32am
Smango Aug 18, 2019 @ 1:30pm 
Originally posted by psymin:
Thanks for posting your issues!

Did either of you get steam keys for access to the game before Early Access?
Yes I did.
Kazmatics Aug 18, 2019 @ 2:47pm 
Originally posted by psymin:
Thanks for posting your issues!

Did either of you get steam keys for access to the game before Early Access?

yep
Fishfins Aug 18, 2019 @ 2:58pm 
Originally posted by KazmaticsTV:
I had 2 issues when trying to follow this guide (now resolved):

1) Downloading the game to the server did not work when logged into SteamCMD as anonymous. Needed to use Steam account.

2) I used forced dir and my warfork directory looked completely different. The find command gave me a bunch of access denied messages when logged in as steam user, and wouldn't function at all when logged in as root. The path to the folder which hosts my dedicated_autoexec.cfg is home/steam/warfork/Warfork.app/Contents/Resources/basewf. I ended up just downloading FileZilla and looking on there.

Edit: to clarify, "warfork" was what i set as the new directory when using force dir


Thanks for posting this guide.

Can Confirm this is the file path as well for dedicated_autoexec.cfg

Thanks again for the guide.
vlad Aug 19, 2019 @ 1:20am 
I can't create a server from the game to play a dedicated server with friends?

Without downloading the steamcmd
Smango Aug 19, 2019 @ 6:39am 
Originally posted by Gennaro.R+:
I can't create a server from the game to play a dedicated server with friends?

Without downloading the steamcmd

You can, if you are using windows just navigate to your steam folder for Warfork and run the windows server binaries instead.

The Linux setup seems to be more stable though. I tried to talk about Windows hosting a little here. I'll add more to this post whenever I get a chance.

https://quakefans.net/warfork-or-warsow/
Last edited by Smango; Aug 19, 2019 @ 6:41am
psymin Aug 19, 2019 @ 6:10pm 
You can host a server without using steamcmd. Just use your regular steam client and download the the game.

Whether you're on Windows, Linux or Mac, the linux server binaries should be in the same Warfork.app path.
Jman Aug 20, 2019 @ 2:40pm 
This guide can also be used for a Windows dedicated server aswell, just switch the linux specific stuff with the windows counterpart. got it to work on windows server 2016
Babitz Aug 24, 2019 @ 6:03am 
I made a more expanded version of this guide. Especially useful if you're looking to make multiple game servers on the same linux server:

https://babitz.cf/warfork_multiple_servers_linux_guide.txt
< >
Showing 1-15 of 17 comments
Per page: 1530 50