This page was last modified 16:04, 3 April 2017.

How to server

From QuakeWorld Wiki

Jump to: navigation, search

This page describes how to setup a QuakeWorld server.

The easiest way of running a server is installing nQuakesv package. webpage Set the mouse cursor over the download button so you get a popup window and choose Windows or Linux server download.
It includes everything you need to start a server, including:

Contents

[edit] Execution

The installer or script will ask the user simple questions to complete the configuration. Take note on the ports the servers will be running (you must know them to connect to the servers)
Completed the install procedure, you now have everything you need to run a QuakeWorld server. First run: Before running start_servers script, it is recommended to validate that the installer preset everything correctly. To do so, execute the script on /run/port1.sh:

testing the installation of nQuakesv on a linux vps
testing the installation of nQuakesv on a linux vps

and if the server starts pinging masterservers with no errors, you can stop it (CTRL-C) and now you can run start_servers.

And thats it! The following text is for special cases:

[edit] Optional variations

[edit] KTX Server Setup

If for some reason you need to upgrade ktx, you'll have to compile it. here's how to do it (using dimman's github)

1. git clone https://github.com/jite/ktx
2. cd ktx
3. ./configure
4. make dl
5. ls -altr (look for qwprogs.so)
6. copy qwprogs.so to ktx/ folder
7. restart the server

When restarting the server, if it outputs a message about failing to load qwprogs.so you'll have to recompile mvdsv also.
If you haven't done it already, you should edit pwd.cfg and change the rcon password. You should also edit portX.cfg and change the sv_serverip to the external (WAN) ip:port of the machine.


[edit] MVDSV Setup

Compiling MVDSV (using dimman's github):

1. git clone https://github.com/jite/mvdsv
2. cd mvdsv/build/make/
3. ./configure
4. make
5. chmod 755 mvdsv
6. copy mvdsv to your quake/ folder

Then run it. it has several command line parameters, such as -port (to choose port) -game (to choose folder) and +exec (to automatically run a cfg and +set sv_getrealip ). Example mvdsv execution commands:

./mvdsv -port 27502 -game ctf +set sv_getrealip 1
./mvdsv -port 27500 -game prox +exec qw_server.cfg
./mvdsv -port 27501 -game ktx +exec port1.cfg

[edit] Firewall Configuration

iptables -A PREROUTING -t nat -p udp -i eth1 --dport 27500 -j DNAT --to 192.168.0.1:27500

[edit] Raspberry Pi server

eb compiled mvdsv and ktx binaries for Raspberry Pi. Download them from here
Spike also compiled binaries for FTE, both client and server. Download them from here
Also QWfwd -> * Raspberry pi qwfwd binaries download

Test results on a raspberry 1, 512mb ram:
- with 7 players + 1 spec, cpu usage was around 80% with everyone spamming sng at dm3 outside
- in conclusion it will be enough for 2on2, not sure on a competitive 4on4 match.
- raspberry pi 2 should be enough for 4on4

[edit] Qizmo

Qizmo is not included in nQuake. Even though it was created in 1997, it STILL is useful to:

  -> Nail filter: Run on a server-side Qizmo, this can help with both the network and FPS lag associated with a lot of nailgun activity (think about 4on4 on e1m2).
  -> Compression: Yes, people still have low bandwidth connections and compression does help with this.
  -> Sending Multiple Packets: This is probably the most important one. With this feature alone you can lower and in some cases eliminate packet loss.

To install qizmo:

mkdir qizmo && cd qizmo
wget https://www.quaddicted.com/files/tools/qizmo-2.91-intel-linux-glibc.tar.gz
tar -xvf qizmo-2.91-intel-linux-glibc.tar.gz
chmod +x qizmo 

You'll need a qizmo.cfg. It is generated the first time you use. Here's an example:

maxclients 32
browser_a 100 20 1.000000 2.000000
name ie.besmella.com
hostname Qizmo - ie.besmella.com
public 1
quakedir ./
maxs2crepeat 5

Change name and hostname for your own. Notice that public is 1. Then you'll just have to run it. Try to run it with ./qizmo
If it doesn't run, its a dependency problem. Try to install the libraries ia32-libs or libc6-i386 or libc6-dev-i386 and then try again. The following steps are optional.
you can edit sources.txt and remove all the lines there, and add:

master "quakeservers.net" master.quakeservers.net:27000 2
master "FodQuake" qwmaster.fodquake.net:27000 2

Starting qizmo (port 28000, report to masterservers)

./qizmo -p 28000 -r 

Here's an example script you can use to run it:

echo -n "* Starting qizmo... "
if ps ax | grep -v grep | grep "qizmo" > /dev/null
then
echo "[ALREADY RUNNING]"
else
./qizmo -p 28000 -r > /dev/null &
echo "[OK]"
fi

[edit] Troubleshooting

For the server admins that run Qizmo(s) and when they refuse to start. You can use the following command in the shell (linux) to clear the queue without needing to restart/reboot the whole machine.

ipcs -q | cut -d" " -f2 | xargs -n 1 ipcrm -q

[edit] External links

Content is available under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. Disclaimers About QuakeWorld Wiki
Personal tools