Quake
26 ratings
[2021 Re-Release] Hosting a dedicated Internet / LAN server / Listen server
By StoneCold
A setup guide for players that wish to host their own dedicated server for Internet or a listen server for LAN play.


   
Award
Favorite
Favorited
Unfavorite
Introduction
This guide will show you the steps on how to create and customise your own dedicated server for Internet or LAN play for the new 2021 re-release of Quake.

Let's dive right into with the requirements below!
Requirements
To host your own dedicated Internet server you'll require the following:

a) A spare home computer / laptop on which to host the server if you plan on hosting the game from your home or a VPS (virtual private server).

b) A second Steam account with a copy of the game (Quake) if you want to host on VPS for an internet server.

No extra copies needed for LAN play!
Creating a LAN / Listen server
You don't require a second copy of the game if you want to play over LAN with others when hosting a listen server!

There are two methods:

a) Right-click on Quake in your Steam library, choose properties. In the "Launch Options" box you specify the settings below.

Or

b) Make a desktop shortcut to the Quake_x64_steam.exe in the "rerelease" folder and specify the settings below.

-listen 16 -port 26000 +internetenable 1 +timelimit 20 +fraglimit 20 +bot_numBots 4 +bot_skill 2 +g_showintromovie 0 +map dm1

listen - This command line switch launches the game in "listen server" mode, which allows you to "serve and play".

Remember, if you don't want bots, you can always remove the bot switches above. Also, if you want to play the new "Dimension of the machine" DM maps, you can add "-game mg1 +mgdm1" to the command line as that will allow you play mgdm1 to mgdm4.



Using the command line above will force your game to launch directly into a listen server, with support for 8 players and 8 bots (if you choose to add bots) and will start on map dm1. At the end of the map, it will automatically cycle to dm2 etc without exiting to the main menu :)

This definitely works on LAN as I have tested it myself as you simply give other players your LAN IP and have them connect via the console using the "connect <lan ip address here>" command.

As for online, well you can always try having friends connect directly to your game with the "connect" command via the console where they specify your WAN IP. You must make sure that you then port forward the client UDP port number (26000 is the default) in your firewall or router.

Why host a listen server via command line instead of using the "Start Match" option in game?

It allows the listen server to automatically rotate to the next DM map without taking you back to the lobby at the end of the map, so this is also effective for players wanting to play against bots without having the trouble of choosing a new map each time :D

For more information on the command line switches above, see the "Creating an Internet server" section below.
Creating an Internet Server
Step 1:

On your hosting computer or VPS, login to the Steam account that you will use for hosting your dedicated server.



Step 2:

Download the game on your hosting computer or VPS



Step 3:

Configure the server command line in order to create your server.

This can be done in three ways:

a) By means of the "Launch Options" directly in Steam using the properties of the game.

b) By creating a desktop shortcut of the "Quake_x64_Steam.exe" file located in your "rerelease" folder and then specify the launch options in the "Target" area of shortcut.

c) Create a server batch file (Server.bat) file.

An example of using the command line for starting a Deathmatch server through Steam or desktop shortcut is as follows:

-dedicated 16 -port 26000 +net_crossplay 0 +internetenable 1 +r_rhirenderfamily d3d11 +timelimit 20 +fraglimit 50 +bot_numBots 4 +bot_skill 2 + g_showintromovie 0 +map dm1

Herewith a server batch file example:

Quake_x64_steam.exe -dedicated 16 -port 26000 +net_crossplay 0 +internetenable 1 +r_rhirenderfamily d3d11 +timelimit 20 +fraglimit 50 +bot_numBots 4 +bot_skill 2 + g_showintromovie 0 +map dm1

Create a new text file / document, copy and paste the contents from above into the text file and save it. Then rename the extension of the text file to .bat. You should be prompted to accept the file extension change, if not, then ensure that your Windows settings are set so that extensions are visible for you to edit.

If want to create a COOP server, simply modify the command line as follows:

-dedicated 16 -port 26000 +net_crossplay 0 +internetenable 1 +r_rhirenderfamily d3d11 +g_showintromovie 0 +map start +coop 1

The "start" map above refers to the starting area of vanilla Quake 1's campaign, so the server will launch all clients connecting, straight to the starting map.

A breakdown of the options are as follows:

dedicated 16 - specifies that you want to launch the game as dedicated server with a maximum player count of 16.

port - specifies the UDP game port that your server will be running on. Ensure that you port forward the port accordingly in your router / firewall.

net_crossplay - specifies whether or not your server should be enabled for crossplay. I highly doubt its necessary to include this one, see that there isn't a way for console players to join your server as I don't believe the console is accessible on consoles (no pun intended). If it is, please correct me if I'm wrong and I'll edit this part.

internetenable - specifies whether your server should be reachable by WAN connections. I'm not sure if settings this cvar to 0 will restrict the server to LAN connections only, seeing that I didn't have an additional PC to test on my end, but I suppose that is the desired effect if one sets this setting to 0.

r_rhirenderfamily - specifies the device render that the hosting PC should use. This is especially useful on VPS machines that doesn't have OpenGL or Vulkan support. I set mine to d3d11 on my VPS and it works a treat, so set this accordingly if your host PC doesn't have a dedicated graphics card capable of running Vulkan or OpenGL.

timelimit - specifies the time limit per map in minutes

fraglimit - specifies the max number of frags per map

bot_numBots - specifies the number of bots that you want to add to your deathmatch server

bot_skill - specifies the bot skill level. I personally set mine to 2 (Normal difficulty) which I find is the sweet spot for a nice balanced experience, but its up to you which one you want to select.

g_showintromovie - specifies whether or not to show the startup movies before launching your dedicated server. I suggest keeping this setting and always have it set to 0, otherwise those pesky movies will play every single time you launch your server.

map - specifies the map that you which your server to launch with



Step 4:

Once you've specified your command line parameters, launch the game via the Steam client (by clicking on Play) ,by double-clicking on the desktop shortcut you've created or running your Server.bat file.



Step 5:

Your dedicated server will now launch and boot into a black screen, this is normal, don't worry.



Step 6:

Your dedicated server should still allow you to access the console by pressing the tilde button (~) left to 1 on your keyboard.



Step 7:

With your dedicated server booted, you can always Alt+Tab, so that you can "get out" of the dedicated server instance to do other things on your hosting computer / VPS.



Connecting to your server
With your dedicated server up and running, it's time to try it out for yourself!

Due to the fact that the MatchBrowser in-game only shows PlayFab P2P (player hosted) server instances, your dedicated server will not be visible for others to join directly.

Therefore, you will need your WAN IP so that people / friends / community members can connect to it directly.

You can determine your WAN IP address by opening up Google and type "whatsmyip" (without quotes) in the google search box and it should return what your current public WAN IP address is.

In order to connect to your server you will use the "connect" command as follows:

connect <your server's WAN IP address>:port number

For example:

connect 154.10.11.12:26000

Specify the port number with the colon directly after the IP address as indicated above.

On the dedicated server, have a look in the console, you will see when connections are made once people join your server, irrespective if its a WAN or LAN connection that is made to the server.

I have tried using DNS to connect to my personal server, but unfortunately trying to connect doesn't yield the desired result. Therefore, I suggest that you DONT share your WAN server IP (especially if its a static IP) with people that you don't trust, so please keep this in mind.

Once you're connected to your server, you might need to close the console by pressing tilde (~) again and then press the Esc button to remove the game menu so that you can start playing on your server!
Hosting mods on your server
It is possible to host a dedicated or listen server with a mod such as Threewave CTF (3wctf).

Step 1:

Download the 3wctf mod from moddb.com and extract it to your "rerelease" folder.

For example, I made a "3wctf" folder and place its pak files, progs.dat and qwprogs.dat inside of it.



Step 2:

Ensure you set up your command line correct for the mod you want to host, notice the "-game 3wctf" switch that is included:

Listen server:

-listen 16 -port 26000 + g_showintromovie 0 -game 3wctf +map ctf2m1 +impulse 1955 +fraglimit 120

Dedicated server:

-dedicated 16 -port 26000 + g_showintromovie 0 -game 3wctf +map ctf2m1 +impulse 1955 +fraglimit 120



Step 3:

Launch your server!




The impulse 1955 switch allows you to select your team when connecting to your server, so if you press "1" that will put you on Team Red, if you press "2" that will put you on Team Blue.

Also, flags will be displayed correctly, and custom sounds for taking, capturing and dropping a flag will also be played.

For more configuration options, please see the 3wctf configuration instructions.
Additional settings
With your server up and running, you might want to change to a different map / level.

The following commands might be of interest to you, take note they only work in the dedicated server's console window:

changelevel - this will instruct the server to change to a map but keep all clients still connected to the server

restartserver - as the name implies, this will restart your server with the current map and settings

addbot - if you want to add more bots to the existing bots on the server

kickbot - kick a specific bot / all bots from the server

There is a whole host of additional console commands and settings that you can tinker and play around with. For more console commands, please see this guide:

https://steamcommunity.com/sharedfiles/filedetails/?id=2580507924)
Final Thoughts and Future Amendments
I hope this guide will be useful to those that live in regions where you don't have a PlayFab data centre in your vicinity for matchmaking (as is the case with me), or if you would just want a lower ping instead of the one you normally get or just have some fun with friends and bots.

This guide is by NO means perfect, there are probably some more nifty tricks that one could probably do, but this should be more than enough to satisfy most players' needs for wanting to run their own dedicated server.

Over the course of the launch weekend, I spent A LOT of time testing out different settings, setups etc to try and get the best settings for a dedicated server setup.

The final addition to the guide will be how to create your own unique map cycle.

Happy fragging!
22 Comments
5k7m4n Dec 17, 2021 @ 10:16pm 
this is garbage... but it is not your fault. They need to give a real dedicated exe until I can run it on linux this is trash
StoneCold  [author] Oct 23, 2021 @ 4:50pm 
@blizzardout - send me a friend invite and I'll explain how.
blizzardout Oct 23, 2021 @ 2:18pm 
How do you play this on another copy? I copied the steam game download quake folder to another computer. when running the game it takes me to the steam quake store page to purchase. I don't understand how you can play on lan without buying another copy. No one explains how to do this.
P0k3r Oct 22, 2021 @ 12:37pm 
Anyone know what needs to be added to get weapons to stay IE: not disappear when picked up
on a listen server?
Penemue Oct 8, 2021 @ 10:12am 
If there is any way to host a server on a Linux VPS that I can connect to with the Re-Release Client, without owning a 2nd copy of the game, I'd like to know.
StoneCold  [author] Sep 16, 2021 @ 1:11pm 
@your_breakfast - add me on Steam, I can walk you through a method
your_breakfast Sep 16, 2021 @ 11:19am 
Can't ALT+TAB out of the launched server, so I end up having to stop it with ALT+F4.
Any suggestions how to deal with this? To bad that the server can't run as a regular command-line application. This used to work with Unreal.

EDIT: I could circumvent this problem by configuring the game to run in windowed mode, but now there is a new problem: I can't run the dedicated server and the game itself on the same computer at the same time.
StoneCold  [author] Sep 11, 2021 @ 7:59am 
@Panties - Nope, neither of he two, I promise ;)
Panties Sep 11, 2021 @ 12:12am 
@StoneCold - I have added and followed you. Appreciate on how you do it. I hope it is not -listen or buy another game using another Steam Account....:steamsad:
StoneCold  [author] Sep 7, 2021 @ 11:08pm 
@Panties - add me on Steam, then I can assist you better