Tripwire Interactive Forums

Go Back   Tripwire Interactive Forums > Killing Floor Forums > Technical Support > Dedicated Server Support

Reply
 
Thread Tools Display Modes
  #1  
Old 05-15-2009, 08:10 AM
Sekra Sekra is offline
Member
 
Join Date: May 2009
Location: Kuopio, Finland, Europe
Posts: 57
Default Linux KF Dedicated Server Tutorial

So.. I dont see much point in running a dedicated server on a system that I need to boot every now and then (talking about windows here) and I've been running Left 4 Dead, CS, DoD etc servers on my linux box for a while now but I havent run any Unreal Engine servers. So I was thinking if we as a community could write up a tutorial of how to install, setup and run a Linux Dedicated Server of Killing Floor. Now I know how to operate the hldsupdatetool so I'll start up by writing a tutorial on how to install the server but since I dont even know myself how to setup and run it I'd like you my fellow server admins to help out in writing this tutorial.

So here goes:

UPDATED: May 18th -> v0.5
UPDATED: May 17th -> v0.41
UPDATED: May 16th -> v0.4
UPDATED: May 16th -> v0.3
UPDATED: May 15th -> v0.2
Original post: May 15th

PART 1: Installing the server

The info below pertaining to hldsupdate is obsolete as of Killing Floor update 1036. Please refer to this thread for the new method of using SteamCMD.

Hosting a Dedicated Server with SteamCMD

Spoiler!
Spoiler!


PART 2: The quick and dirty start:

This part is for all of you who dont care much about how "well" and organised the server is setup. This part will get you started the quick way.

Like many others I couldnt locate the KillingFloor.ini from the <server>/system directory but it actually is under your home directory in a hidden folder ~/.killingfloor/System (see http://forums.tripwireinteractive.co...ad.php?t=30916 for more information)

NOTE! The KillingFloor.ini will not be created before you start the server at least one time!

1. Before starting the server fire up your web browser and allready put in the addressbar the address to your server and port 8075 like this but DONT press enter yet:

http://12.345.67.89:8075 (the address here is NOT the one for you to use)

2. Navigate into the kfserver/system directory and run:

Code:
[system]$ ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6?AdminName=admin?AdminPassword=admin
3. As soon as the server has started go to your webbrowser and hit enter on the address you put in earlier. It will now ask for username and password and enter admin on both as provided earlier. Now in the WedAdmin interface navigate to "Defaults" on the top bar and click "Server" on the left sidemenu to setup the server Admin name and Admin password. Make them up and then click "Accept". After this jump back to the server window and stop it by pressing ctrl-c. Restart the server with just:

Code:
[system]$ ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6
and relogin with the Admin name and password you put in the "Server" setup dialog. Now you can configure the server as you like from the WebAdmin.

Check PART 4: Post-installation tips for some tips on running the server afterwards.

There are many posts on this forum about setting up the server configurations so I wont go into these for now. (See links at the bottom of this post.)

PART 3: Running the server(s)

Okay here is a bit more complex but more organised way of running a server or if you plan on running multiple instances of KF Server on your server this will help the administrating.

First of all I know there is a few different kinds of ways of running multiple servers. One is to install every instance in its own directory. The other is using multiple KillingFloor<insert number>.ini files. I will try to make this tutorial as general as possible and I hope you can use your own brains to apply the information provided here to your own needs. But let us start!

1. After installing the server you might notice that there is something missing that we have allready talked about, the KillingFloor.ini. You can either run the server once (HOLD ON, dont do it yet! Use the code below to start) or you can copy the default.ini as KillingFloor.ini:

NOTE!!!!
Never EVER edit default.ini!!!!!!
http://forums.tripwireinteractive.co...ad.php?t=30640

a) Copying default.ini as KillingFloor.ini (I have not tested this method myself)
Code:
[system]$ cp default.ini KillingFloor.ini
b) Running the server once
Code:
[system]$ ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 -nohomedir
After the server has started just hit CTRL-C to shut it down.

Now it all comes down to choices. Rather than trying to write every possible solution for your needs, I'm going to try to explain the switches and choices about how you decide to run your servers.

First of all, the -nohomedir switch makes the server use the .ini files in the same directory as you are running it from. This is handy when you have installed just one set of binaries for the server but still want to run multiple instances, so you make KillingFloor1.ini for server 1, KillingFloor2.ini for server 2 etc.

You might also want to have a different set of binaries for each server (kfserver1 & kfserver2 directories for example) but then using the -nohomedir switch might be a bit troublesome since all the .ini files will be in different directories. If you use different folders for different server instances, leave out the -nohomedir switch.

Summary:
a) 1 binary, many servers, use -nohomedir, *.ini are in kfserver/system

b) many binaries (directories), many servers, DONT use -nohomedir, *.ini are in ~/.killingfloor/System

c) just one server, choose whichever way you want and find better for your needs

2. Lets edit the KillingFloor.ini next with your favourite text editor:

NOTE!!! From now on the .ini file and the location is related to the choice you made on step 1. If setting up multiple server you need to edit each .ini separately as each server instance needs its own .ini file.

Code:
[system]$ nano KillingFloor.ini
Okay now some things you WANT to edit:

a) under [Engine.GameReplicationInfo] add an AdminName so you can login from the WebAdmin and change ServerName so you can find it in the serverbrowser!

b) under [Engine.AccessControl] add an AdminPassword (this will be always saved as plaintext)

c) under [UWeb.WebServer] make sure that bEnabled=True if you want to use the WebAdmin to control the server

These options should suffice to run a single instance of the server. If you are setting up multiple servers read on, else you can skip to step 3.

For setting up multiple servers you need to have a unique port for each instance of course. The default port for KF server is 7707 but that is not the only port (see http://forums.tripwireinteractive.co...ad.php?t=30634). But as explained in that post, the default port controls all the other ports (except WebAdmin):

7707 UDP/IP (Game Port)
7708 UDP/IP (Query Port)
7717 UDP/IP (GameSpy Query Port)
28852 TCP/IP and UDP (Allows your Server to Connect to the Master Server Browser)
8075 TCP/IP (Port set via ListenPort that your WebAdmin will run on)
20560 UDP/IP (Steam Port)

A good way to separate different server instances is to use +100 for each server (server 1 = default 7707, server 2 = 7807 etc). This will also affect all the other ports like this:

Server 1 is at the default configuration above (7707 etc).
Server 2 would be:

7807 UDP/IP (Game Port)
7808 UDP/IP (Query Port)
7817 UDP/IP (GameSpy Query Port)
28952 TCP/IP and UDP (Allows your Server to Connect to the Master Server Browser)
8075 TCP/IP (Port set via ListenPort that your WebAdmin will run on)
20660 UDP/IP (Steam Port)

(Notice the WebAdmin port staying the same, I left it on purpose because it is a separate config value)

d) in the beginning of KillingFloor.ini under [url] edit Port setting for the Game port (other ports will change as explained above)

e) to change the WebAdmin port under [UWeb.WebServer] edit ListenPort=8075 (8075 is the default value) so you can find all the webadmin pages (use whatever logic you like).

f) It would propably be a good idea to name servers differently (ie. Sekras KF Server 1, Sekras KF Server 2 etc) so you can separate them easier.

Okay so now you have the technical part of the setup more or less done. For other, game related, configurations see the link to arramus' server tutorial in the links section of this tutorial.

3. Now its time to start the server(s). You will find additional tips about running the servers in Part 4 (how to run them in the background for example). This section will only tell you how to start the server.

Again this comes down to the choices you've made earlier:

a) If you are running just one server it is fairly easy to start it. Navigate into you <kfserver>/system directory and run ucc-bin:

Code:
[system]$ ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6
Add the -nohomedir switch if you have the KillingFloor.ini in the same directory as the server or dont use it if you have it under the ~/.killingfloor/System directory. Use a webbrowser to access the webadmin (default port is 8075) and connect with your client to play!

b) If you are running multiple servers:

This is a bit tricky to explain because of the many possible ways for you to setup the servers. But the keyword here is the ini=<server ini here> switch.

If you are running multiple servers with 1 binary you can start each server like this:

Code:
[system]$ ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 -nohomedir ini=KillingFloor1.ini
after this server has started up, start the next one with:

Code:
[system]$ ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 -nohomedir ini=KillingFloor2.ini
and so on. If you didnt use the -nohomedir option earlier, dont use it now either.

You might have multiple binary installations and you dont use the -nohomedir to concentrate all .ini in the same place (~/.killingfloor/System) then start like this:

Navigate into kfserver1/system and run:

Code:
[system]$ ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 ini=KillingFloor1.ini
and then navigate into kfserver2/system and run:

Code:
[system]$ ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 ini=KillingFloor2.ini
and so on.

Then you might have multiple server binaries and you used the -nohomedir on all of them. Then to run each server do this:

Navigate into kfserver1/system and run:

Code:
[system]$ ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 -nohomedir
and then navigate into kfserver2/system and run:

Code:
[system]$ ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 -nohomedir
and so on. As you can see there are so many ways to do it and it all comes up to the way you find it most comfortable.


PART 4: Post installation tips

TIP I: Running the game in a screen aka Sekras startup script

This script is very easy to make and operate. Definitely for beginners.

NOTE!!!!
I use this way to run a single server on my linux box. You will need to edit it to work with multiple servers. The syntax is "screen -S <unique name> <command to run>" and then you can resume the screen by "screen -r <unique name>".

Okay so who likes to have a terminal window open all the time to just have the boring server console there? The answer is to install a program called screen if you havent allready done so (refer to your linux distro on how to install it). After installing screen this is what I do:

1. create a file called start in the system directory in kfserver and edit it:

Code:
[system]$ nano start
in that file put this line:

Code:
screen -S kfserver ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6
Save the file and exit (ctrl-x in nano).

NOTE!!! Only the orange part is important. For the rest of the script use the startup command you chose earlier.

2. Change the file permission so you can run it:

Code:
[system]$ chmod +x start
3. Run it!

Code:
[system]$ ./start
The server will now start in a screen session. Press CTRL-A and CTRL-D to "Detach" the screen. You will return to your terminal and the server will keep running in the screen! Now if you have only one screen running you can return to the server screen by typing:

Code:
$ screen -r
or if you are like me and running multiple instances of screen type:

Code:
$ screen -r kfserver
and you will open up the server again. And use CTRL-A-D to detach it again to keep it running or CTRL-C to terminate the server and screen will terminate also automatically.

Here is a suggestion for multiple servers:
For server 1, make start1 instead of just start:

Code:
[system]$ nano start1
in the scipt write:

Code:
screen -S kfserver1 ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 ini=KillingFloor1.ini log=logs/server1.ini
NOTE!!! Only the orange part is important. For the rest of the script use the startup command you chose earlier.

And then do the rest as with the single server script. Then repeat and make start2 with screen -S kfserver2 <startup command here> etc.

Remember to chmod +x all of the scripts!

TIP II: Updating the server

So I've seen a few posts by now after the first patch that how do you update the server? Although it has allready been done in this tutorial I think it needs a section of its own for someone just browsing this tutorial for help. The procedure is really simple and easy. Just run the same command we used to install the server in the directory you installed your server and where the steam application is located:

Code:
[kfserver]$ ./steam -command update -game killingfloor -dir .
TIP III: LeAdGuEsT's startup script

Now here is a more advanced startup script than my version is. This script was originally posted here http://forums.tripwireinteractive.co...ad.php?t=31044

Quick startup script(start/stop/restart)... Hope this is of any use.

Make sure to change the GAME_PATH

Code:
#!/bin/bash
#
# Init file for Killing Floor server
#
# chkconfig: 35 90 12
# description: Killing Floor
#
# source function library
. /etc/rc.d/init.d/functions
SCREEN_NAME=killing-floor
GAME_PATH=//srcds_l/killingfloor/system
 
start()
{
cd $GAME_PATH && /usr/bin/screen -A -m -d -S $SCREEN_NAME ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecure=true?MaxPlayers=6
}
stop()
{
PID=`ps fax | grep $SCREEN_NAME | grep SCREEN | awk '{ print $1 }'`
kill $PID
}
restart()
{
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
If this script doesnt work, contact LeAdGuEsT.

TIP IV: Terrorkarottes very advanced startup scripts

Terrorkarotte has made some very advanced fine tuning for running your servers (not for beginners). You can find them a few posts downward: http://forums.tripwireinteractive.co...68&postcount=4

If any of these scripts doesnt work, contact Terrorkarotte.

TIP V: Server logs

If you are running multiple servers you might want to specify exactly where and what name the log files should be. You can do that by adding log=<unique name>.log in the startup line. For example you might want to have a logs directory in the ~/.killingfloor/System where you put all the logs of your servers then do this:

Code:
mkdir ~/.killingfloor/System/logs
then navigate into the kfserver/system directory and run:

Code:
./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 ini=KillingFloor2.ini log=logs/server2.log
this will create a server2.log in the logs directory.

Changelog:
Code:
v0.5
-Rewrote and renamed parts 2 & 3
-Added the actual script from LeAdGuEsT and a direct link Terrorkarottes advanced scripts to the first post
-Added a tip about logging
-A touch of color ;)
 
v0.41, May 17th 2009
-Added mention of Terrorkarottes scripts
 
v0.4, May 16th 2009
-Added post installation TIP II
-Added link to LeAdGuEsT's startup script
 
v0.3, May 16th 2009
-Added the Links section
 
v0.2, May 15th 2009
-Wrote parts 2 and 3 to get a quick start
-Added Part 4 for tips
 
Original post, May 15th 2009
LINKS

arramus' dedicated server tutorial for windows(also with lots of configuration info):
http://forums.tripwireinteractive.co...ad.php?t=30579

LeAdGuEsT's excellent startupscript for linux:
http://forums.tripwireinteractive.co...ad.php?t=31044

Zetsumeis How to enable high quality audio codec for dedicated servers:
http://forums.tripwireinteractive.co...ad.php?t=31589


Thank you for the following people for helping with this tutorial:

Tagert
arramus
LeAdGuEsT
Terrorkarotte
Vociferous

PLEASE help me write this tutorial! If you find mistakes in my tutorial or if you have suggestions be free to tell me about them and I will correct it.

Last edited by slavek; 07-11-2012 at 03:45 PM. Reason: Update to version 0.5
Reply With Quote
  #2  
Old 05-15-2009, 08:58 AM
Tagert's Avatar
Tagert Tagert is offline
Senior Member
 
Join Date: May 2009
Location: Karlskrona, Sweden
Posts: 126
Default

be sure to be in this the /system/ directory of your KF server files.
Then run
Code:
chmod+x ucc-bin
to make the server binary executable.

Then to start it:

Code:
./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6

Last edited by Tagert; 05-16-2009 at 05:50 AM.
Reply With Quote
  #3  
Old 05-16-2009, 03:37 AM
arramus's Avatar
arramus arramus is offline
Senior Member
 
Join Date: May 2009
Location: Residing in Japan
Posts: 1,140
Default

Thanks for the LINUX tutorial Sekra. Good to have tutorials supporting both OS's.
__________________
Killing Floor Vehicle Mod at moddb
Reply With Quote
  #4  
Old 05-16-2009, 11:47 AM
Terrorkarotte Terrorkarotte is offline
Member
 
Join Date: May 2009
Posts: 31
Default

First of all i would like to thank you for your work. Your tutorial helped me a lot setting up my server. By doing this I encountered some problems and found solutions everybody is asking here in the forum.
But first this link: http://wiki.fragaholics.de/index.cod...l_Optimization

It should help you running your linux gameserver more stable. For beginners i would not use a 1000Hz Kernel. The importand things are the realtime,the to your hardware fitted kernel, and mostly importand the rescheduler and idler scipts. If you dont want a kernel try out the scheduler and the idler. Using Source Server (CS:S DOD:S etc) it helped me a lot.

You have to use another reschulder
Code:
#!/bin/sh

PIDS=`ps ax | grep sirq-hrtimer | grep -v grep | sed -e "s/^ *//" -e "s/ .*$//"`
for p in $PIDS; do
  chrt -f -p 99 $p
done

PIDS=`ps ax | grep sirq-timer | grep -v grep | sed -e "s/^ *//" -e "s/ .*$//"`
for p in $PIDS; do
 chrt -f -p 51 $p
done

PIDS=`pidof ucc-bin-real`
for p in $PIDS; do
  chrt -f -p 98 $p
done
Now to the Killing Floor Part:
Everybody is telling, that they can not find die KillingFloor.ini or and it is not created.
It is created. But everyone is looking in the wrong place. Enter your home directory and type:
Code:
ls -la
you will see something like this:
Code:
.killingfloor
kfserver
.killingfloor is a hidden directory with the subfolder System in it, in which you can find your KillingFloor.ini
This happens because the existing HowTo´s forgot one important start parameter:
Code:
-nohomedir
Not adding it will result in the game creating the hidden folder. A pain in the *** when you want to run more than one server. So start it with this parameter! In addition you will need these two parameters:
Code:
ini=KillingFloor.ini log=server1.log
They will tell the game to make a log and to use the specified .ini file.
Both will be created in the system folder
I want to have order. so i created in the kfserver directory the folder "log"
Code:
cd kfserver
mkdir log
I like to start, stop and restart my server witrh scripts. So I altered an old hlds start script to my needs. With this script I can start the server by typing
Code:
./kfserver start|stop|restart
Here is the complete script:

Code:
#!/bin/sh
#clear
# An old hlds startscript found somewhere in the net changed by
# Terrorkarotte
# contact: ulblock@gmx.de
# to match a killing floor server
# Edit and uncomment it to your needs

KF_USER="yourusername"

PATH=/bin:/usr/bin:/sbin:/usr/sbin

# DON'T FORGET TO CHANGE THE PATHS TO YOUR NEEDS!

DIR=/path/to/kfserver/system

# you need to create the folder log first!
# If you do not no log will be written !

LOG=/path/to/kfserver/log

DAEMON=$DIR/ucc-bin

PARAMS="server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6?AdminName=ADMIN?AdminPassword=PASSWORD -nohomedir ini=KillingFloor.ini log=$LOG/server1.log"

NAME=killingfloor
DESC="killingfloor"

case "$1" in
 start)
   echo "Starting $DESC: $NAME"
   if [ -e $DIR ];
   then
    cd $DIR
    screen -d -m -S $NAME $DAEMON $PARAMS
   else echo "No such directory: $DIR!"
   fi
   ;;

 stop)
   if [[ `screen -ls |grep $NAME` ]]
   then
       echo -n "Stopping $DESC: $NAME"
       kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
       echo " ... done."
   else
       echo "Coulnd't find a running $DESC"
   fi
   ;;

 restart)
   if [[ `screen -ls |grep $NAME` ]]
   then
       echo -n "Stopping $DESC: $NAME"
       kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
       echo " ... done."
   else
       echo "Coulnd't find a running $DESC"
   fi
  
   echo -n "Starting $DESC: $NAME"
   cd $DIR
   screen -d -m -S $NAME $DAEMON $PARAMS
   echo " ... done."
   ;;
 
 *)
   echo "Usage: $0 {start|stop|restart}"
   exit 1
   ;;
esac

exit 0
Change the folders to your needs set the chmod and you are ready to go.
Starting with this script will result in a KillingFloor.ini created in the system folder and a server1.log in the log folder. If you have created it. If you did not no log will be written.

If you change the KillingFloor.ini now the changes take affekt now

If you want to run a second server you have to copy the start script:
Code:
cp kfserver kfserver2
and change the log and .ini name to server2.log and KillingFloor2.ini for example in the startscript.
Of course you have to change
Code:
NAME=killingfloor
DESC="killingfloor"
in
Code:
NAME=2killingfloor
DESC="2killingfloor"
If you ad the 2 at the end the script won´t work properly if you want to restart or stop the server. Both scripts will shutdown both servers at once
After you made the changes start the second server and the files will be created. Edit the Ports used in the KillingFloor2.ini restart the server and you have the second server running at the specified ports.

The startscript: http://download.ostwestfront.de/karotte/kfserver

Update:

I forgot my update script, which i use to update my servers:
Code:
#!/bin/sh
#clear
/home/username/kfserver/steam -command update -game killingfloor -dir /home/username/kfserver -verify_all -retry &&
/home/username/
If you have more than one server and use a second installation you can update both by addning a second line to the script:

Code:
#!/bin/sh
#clear
/home/username/kfserver/steam -command update -game killingfloor -dir /home/username/kfserver -verify_all -retry &&
/home/username/kfserver restart &&
/home/username/kfserver2/steam -command update -game killingfloor -dir /home/username/kfserver2 -verify_all -retry &&
/home/username/kfserver2 restart
The script updates the server(s) and restarts it/them, if you use my restart script if you enter:
Code:
./kfupdate
I am used to run updates with cron in the night, when nobody ist playing. Open a new crontab:
Code:
crontab -e
and add this line:
Code:
0    5     *     *     * /home/username/kfupdate
It will run the updatescript at 5 am in the morning when nobody plays and if you added the restart line also will restart the updated server

Here is the update script: http://download.ostwestfront.de/karotte/kfupdate

Last edited by Terrorkarotte; 05-17-2009 at 05:54 AM.
Reply With Quote
  #5  
Old 05-17-2009, 05:06 AM
Terrorkarotte Terrorkarotte is offline
Member
 
Join Date: May 2009
Posts: 31
Default

Moderators think about making this one sticky. It could help many people.

Last edited by Terrorkarotte; 05-17-2009 at 05:14 AM.
Reply With Quote
  #6  
Old 05-18-2009, 07:27 AM
Sekra Sekra is offline
Member
 
Join Date: May 2009
Location: Kuopio, Finland, Europe
Posts: 57
Default

Quote:
Originally Posted by Terrorkarotte View Post

Everybody is telling, that they can not find die KillingFloor.ini or and it is not created.
It is created. But everyone is looking in the wrong place. Enter your home directory and type:
Code:
ls -la
you will see something like this:
Code:
.killingfloor
kfserver
.killingfloor is a hidden directory with the subfolder System in it, in which you can find your KillingFloor.ini
This happens because the existing HowTo´s forgot one important start parameter:
Code:
-nohomedir
Not adding it will result in the game creating the hidden folder. A pain in the *** when you want to run more than one server. So start it with this parameter! In addition you will need these two parameters:
Code:
ini=KillingFloor.ini log=server1.log
They will tell the game to make a log and to use the specified .ini file.
Both will be created in the system folder
I added the -nohomedir switch and rewrote most of the tutorial. But I disagree that having the hidden directory for the .ini is a pain in the ***. It's only a matter of preference and what you like and I like having my .ini there. You can combine the ini= without the -nohomedir too you know. And as said in v0.2 of the tutorial it was the Quick'n'dirty start.
Reply With Quote
  #7  
Old 05-18-2009, 07:33 AM
Jaek's Avatar
Jaek Jaek is offline
Senior Member
 
Join Date: Apr 2009
Posts: 242
Default

Quote:
Originally Posted by Sekra View Post
So.. I dont see much point in running a dedicated server on a system that I need to boot every now and then (talking about windows here)
If it wasn't for that fact that your installation guide was awesome I'd call you a linux fan boi who doesn't know how to set up her windows Cheers mate, awesome guide.
__________________
Reply With Quote
  #8  
Old 05-18-2009, 07:38 AM
Sekra Sekra is offline
Member
 
Join Date: May 2009
Location: Kuopio, Finland, Europe
Posts: 57
Default

Quote:
Originally Posted by Jaek View Post
If it wasn't for that fact that your installation guide was awesome I'd call you a linux fan boi who doesn't know how to set up her windows Cheers mate, awesome guide.
I absolutely frigging hate linux. The worst piece of crap there is. But uh-oh, I hear a flamewar coming! Its only that with servers linux superior to windows.
Reply With Quote
  #9  
Old 05-19-2009, 03:17 PM
Nagel Nagel is offline
Junior Member
 
Join Date: May 2009
Posts: 22
Default

As with version 3 of the linux dedicated server comes the ucc-bin-real executable, do we have to use this one, or the ucc-bin as described in this thread?
Reply With Quote
  #10  
Old 05-19-2009, 03:35 PM
Sekra Sekra is offline
Member
 
Join Date: May 2009
Location: Kuopio, Finland, Europe
Posts: 57
Default

use the ucc-bin as in this tutorial
Reply With Quote
  #11  
Old 06-05-2009, 08:29 AM
Terrorkarotte Terrorkarotte is offline
Member
 
Join Date: May 2009
Posts: 31
Default

When I tried to compress a custom map as it is described in the windows thread, I encountered a few problems.
First of all you have to use the ucc-bin instead of the ucc file. The second thing is to use / instead of \.
The last thing is to add the "-nohomedir" variable. If you do not add it the compressed files will be in the hidden .killingfloor directory instead of the maps directory in the kfserver folder.
The full command:

Code:
./ucc-bin compress ../maps/mapname.rom  -nohomedir

Last edited by Terrorkarotte; 06-05-2009 at 08:30 AM.
Reply With Quote
  #12  
Old 06-12-2009, 09:22 AM
Terrorkarotte Terrorkarotte is offline
Member
 
Join Date: May 2009
Posts: 31
Default

With linux you can run a script with cron every X minutes/hours that checks if the screen process is running and if not execute the startscript of your server.
This script checks for a screen with the name "kf.one" and executes the startscript "kfstart" If you have other names you have to change it to your needs:

Code:
#!/bin/sh
#clear
if[[ `screen -ls |grep kf.one ]]
then 
echo
else
/home/kfserver/kfstart restart
fi

Last edited by Terrorkarotte; 06-12-2009 at 09:28 AM.
Reply With Quote
  #13  
Old 10-31-2009, 09:38 PM
Kureno Kureno is offline
Junior Member
 
Join Date: Oct 2009
Posts: 1
Default

Nice Tutorial, but if i try to login to the Web-Interface it dont work :/
i type in the Setted Username / Password then the login "screen" go away for a sec and come back.

Can someone help?!
Reply With Quote
  #14  
Old 01-08-2010, 05:56 AM
Terrorkarotte Terrorkarotte is offline
Member
 
Join Date: May 2009
Posts: 31
Default

Check your spelling Linux is always case sensitive.

Here is my german howto to set up a linux killing floor server:
http://serverwiki.sp12.speed-hoster....p/Killingfloor

Last edited by Terrorkarotte; 01-08-2010 at 06:03 AM.
Reply With Quote
  #15  
Old 01-20-2010, 12:44 PM
djcenox djcenox is offline
Junior Member
 
Join Date: Oct 2009
Posts: 8
Default

How to launch muts and mods(like DA) with Ded server?
Reply With Quote
  #16  
Old 01-20-2010, 12:59 PM
Terrorkarotte Terrorkarotte is offline
Member
 
Join Date: May 2009
Posts: 31
Default

./ucc-bin server
DA2-BlackGold.rom?game=DA2.DefenceAlliance?VACSecured= true?AdminName=HEREISAADMINNAME?AdminPassword=ANDH EREAPASSWORD?Mutator=da2.mutkf -nohomedir -multihome=HEREISTHEINTERNETIP -mod=DA2 ini=DA2.ini

The forum splits the commandline so watch for breaks in the part where the commands are connected with ?

Last edited by Terrorkarotte; 01-20-2010 at 01:01 PM.
Reply With Quote
  #17  
Old 05-01-2010, 06:15 PM
TheCasanova TheCasanova is offline
Member
 
Join Date: Sep 2009
Posts: 73
Default

I'm not much of a linux pro... more like a beginner
But I wrote some small scripts that might come in handy.

The following 2 belong in the system folder.
create a .sh file, or a textfile and upload it via ftp.

start.sh
Code:
echo
echo = Trying to kill running servers =
echo
killall ucc-bin-real
screen -dmS kfserver ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6?AdminName=admin?AdminPassword=admin
echo = KillingFloor Server starts =
echo = Process: ucc-bin-real =
echo
killall is stopping the server - if it is running. Just to make sure you don't start it twice. If there wasn't any server running it will say that it didn't kill any processes.
screen -dmS is starting the server and running it in a background window. That way the process keeps on running even if you shut down putty.
echo just puts out some text.

stop.sh
Quote:
killall ucc-bin-real
echo = KillingFloor Server stopped =
echo
Again... the killall to shut down the server and an echo to say that the script ran. Take note that you start the server with ucc-bin and you shut down the ucc-bin-real!

Then you switch back to the main folder where the hlds files are.
you then type:
Code:
$ ln -s ./system/start.sh
$ ln -s ./system/stop.sh
This will create links in this folder. (if it doesn't work leave the "." ... can't remember that now)

It is also usefull to create an update.sh in this folder.
Code:
killall ucc-bin-real
./steam -command update -game killingfloor -dir .
again I think it is wise to shut down all running servers before actually updating them. Obviously.

Oh and you can check wether the server runs with
Code:
ps aux
Reply With Quote
  #18  
Old 05-24-2010, 02:26 AM
Evilhawk Evilhawk is offline
Junior Member
 
Join Date: Apr 2010
Posts: 11
Default

I tried this on my Linux-Ubuntu server an cannot get it running keeps telling me there is no server running after I have started a server without the script
Reply With Quote
  #19  
Old 08-09-2010, 05:08 PM
snappah snappah is offline
Junior Member
 
Join Date: Apr 2010
Posts: 5
Default

Quote:
Originally Posted by Evilhawk View Post
I tried this on my Linux-Ubuntu server an cannot get it running keeps telling me there is no server running after I have started a server without the script
I have the same thing and it is working excellent. Create a new file called kf-server.sh in your home directory by typing
Code:
pico kf-server.sh
Copy, paste, and edit this script into kf-server.sh. Edit username, password, and folder where steam is located. (line 6)
Code:
#!/bin/bash
echo Killing current server
killall ucc-bin-real
# This will effectively make the script a means of restarting the server.

cd kfserver
./steam -command update -game killingfloor -dir . -verify_all -retry
# This updates the files to latest version before launching the game.

# Server start vars
vac="true"
slots="6"
adminuser="username"
adminpass="password"

echo "Starting  KF Server..."

cd system/

# use screen -r kf-server to view server console,
# ctrl+a, d to go back, ctrl+c to terminate the server.
screen -A -m -d -S kf-server ./ucc-bin server KF-BioticsLab.rom\
?game=KFmod.KFGameType\
?VACSecure=$vac\
?MaxPlayers=$slots\
?AdminName=$adminuser\
?AdminPassword=$adminpass


# EOF
Code:
chmod +x kf-server.sh
then
Code:
./kf-server.sh
good luck
Reply With Quote
  #20  
Old 08-20-2010, 05:18 PM
Outbreak-Gaming Outbreak-Gaming is offline
Junior Member
 
Join Date: Aug 2010
Posts: 1
Default

Hey,

Thanks for the tutorial, it really helped, I just took a good read through. I'm going to be setting one up in the next few days/weeks on a Linux box I plan on buying. However, I do have one question.

How much memory does a full 6 slot server use? (Approximate).

Thanks,
Outbreak-Gaming
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:28 PM.


Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Copyright ©2005 - 2013, Tripwire Interactive, LLC