User Tools

Site Tools


games:quake:setup_a_local_quakejs_server:setup_a_local_quakejs_server

Games - Quake - Setup a local QuakeJS server - Setup a Local QuakeJS Server

Install curl

sudo apt install curl

Add the node.js repo

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

NOTE: Ignore the warning message.

  • Quake is very old.


Install additional tools needed to setup the server

sudo apt install git nodejs npm

Clone the updated QuakeJS git repository

This includes the ioq3 repository sub-module.

Change directory to the home directory:

cd ~

NOTE: This is to ensure that the home directory is being used.


Clone the updated QuakeJS git repository

git clone --recurse-submodules https://github.com/begleysm/quakejs.git

or

Clone the original QuakeJS git repository

git clone --recurse-submodules https://github.com/inolen/quakejs.git

Move into the newly created quakejs directory:

cd quakejs

Install the necessary node.js packages:

npm install

NOTE: Accept the warnings about deprecated packages and vulnerabilities.


Download BASE3Q files

Run the server for the 1st time by executing the following command.

node build/ioq3ded.js +set fs_game baseq3 +set dedicated 1

NOTE: Hold down enter to get through the EULA.

  • Agree to the EULA by hitting y and game files will be downloaded.
  • Once all files have been downloaded, the line ignoring setsockopt command will be shown.
  • Quit by hitting CTRL+C.

Download additional CPMA files (Optional)

node build/ioq3ded.js +set fs_game cpma +set dedicated 1

NOTE: This will download files.

  • When the download is complete, the line ignoring setsockopt command should be seen.
  • Again hit CTRL+C to quit.

Edit the baseq3 server config file

Edit or Create base/baseq3/server.cfg.

base/baseq3/server.cfg
seta sv_hostname "QuakeJS Server"
seta sv_maxclients 12
seta g_motd "Welcome to the Local baseq3 QuakeJS Server"
seta g_quadfactor 3
seta g_gametype 0
seta timelimit 15
seta fraglimit 25
seta g_weaponrespawn 3
seta g_inactivity 3000
seta g_forcerespawn 0
seta rconpassword "quakejs"
set d1 "map q3dm7 ; set nextmap vstr d2"
set d2 "map q3dm17 ; set nextmap vstr d1"
vstr d1

NOTE: Pay special attention to seta sv_hostname, seta g_motd, and especially seta rconpassword.

  • seta rconpassword: Change the password if required!

Edit the cpma server config file (Optional)

Edit or Create base/cpma/server.cfg.

base/cpma/server.cfg
seta sv_hostname "QuakeJS Server"
seta sv_maxclients 12
seta g_motd "Welcome to the Local cpma QuakeJS Server"
seta g_quadfactor 3
seta g_gametype 0
seta timelimit 15
seta fraglimit 25
seta g_weaponrespawn 3
seta g_inactivity 3000
seta g_forcerespawn 0
seta rconpassword "quakejs"
set d1 "map q3dm7 ; set nextmap vstr d2"
set d2 "map q3dm17 ; set nextmap vstr d1"
vstr d1

NOTE: Pay special attention to seta sv_hostname, seta g_motd, and especially seta rconpassword.

  • seta rconpassword: Change the password if required!

Move /root/quakejs to /home/quake

The quake server needs to run as a non-root user.

Therefore the quakejs directory will be placed under the quake user created earlier.

cp -R /root/quakejs /home/quake

Set Permissions

Set permissions to belong to the quake user created earlier.

chown -R quake:quake /home/quake/quakejs

Test

cd ~/quakejs
node build/ioq3ded.js +set fs_game baseq3 set dedicated 1 +exec server.cfg

NOTE: The final line with say something like Hitch warning: 5584 msec frame time.

  • This is normal.
  • Press CTRL-C to quit.
    • The Content Server and Play Page is still required to be setup.

Continue Setup a Local Content Server

games/quake/setup_a_local_quakejs_server/setup_a_local_quakejs_server.txt · Last modified: 2021/07/06 19:16 by peter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki