Quake 3 arena сервер linux

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Quake 3 Arena CPMA Dedicated Server Guide Linux

License

m3fh4q/Quake3ArenaCPMADedicatedServerGuideLinux

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Quake 3 Arena CPMA Dedicated Server Guide Linux

Challenge ProMode Arena (CPMA, formerly Challenge ProMode [CPM], unofficially Promode) is a freeware modification for id Software’s first-person shooter computer game Quake III Arena (Q3A). CPMA includes modified gameplays that feature air-control, rebalanced weapons, instant weapon switching and additional jumping techniques.

This tutorial will guide you on how to host a/multiple Quake 3 Arena CPMA dedicated servers(s) on linux.

  • Debian 9 x64 (what’s used in this guide, instructions will probably work on other linux distributions with some slight modifications).
  • 1 CPU and 1GB of RAM available on your server.
  • I recommend using the $2.50 or $5 offer from Vultr (not affiliated with them, it’s just what I currently use)
  • Reading carefully and understanding what you’re doing.
dpkg --add-architecture i386 && apt-get update -y 
apt-get install -y screen zip unzip 

Add the quake3 user (if necessary)

The Quake 3 Arena CPMA server files will be installed in the «quake3» user home directory, server instances will be launched as the quake3 user.

Читайте также:  Создание своего дистрибутива linux debian

Skip this part if you already have a quake3 user on your server.

useradd quake3 -m -r -s /bin/bash 

Change the quake3 user password (optional, recommended)

echo "quake3:yourquake3password" | chpasswd 

(If you plan on logging as quake3 in a ssh session, don’t forget to allow ssh password authentication for non root users in your ssh config file).

Installation 2/2 (as quake3) :

Or from another machine :

ssh quake3@your_server_ip (or use PuTTY)

Download and extract Quake3 and CPMA

cd ~ && mkdir quake3_arena/ && wget -O q3cpma.zip "https://www.dropbox.com/s/x5kmywtwq8nqmoe/CPMA_full_rc4.zip" && unzip -d quake3_arena q3cpma.zip && cd quake3_arena && rm *.txt && rm h4* && rm -r superhudeditor-0.3.0 udt_gui_0.7.2_dll_1.3.0 docs 

The dropbox link used is a mirror link to DEZ’s Q3CPMA archive

Download and extract Quake3e

cd /home/quake3/quake3_arena/ && wget http://www.edawn-mod.org/binaries/quake3-1.32e.zip && unzip quake3-1.32e.zip && chmod +x quake3e* 

Quake3e is an improved client for playing Quake 3 Arena mods Official site

Download a default server config

wget -O /home/quake3/quake3_arena/baseq3/server.cfg https://www.dropbox.com/s/syohxlyr8da2hhm/default_cpma_server.cfg 

This cfg file will be loaded when a server instance is launched later on, it contains good default parameters.

Some of these parameters will be overwritten later on in the launch command. (such as sv_hostname)

Edit server.cfg (optional, not recommended)

I don’t recommend modifying this file as it will be executed at server launch (this is optional though)

(You can however duplicate it and have your custom settings if you plan on not passing any start parameters but executing a custom config)

It’s best to leave this file untouched and use start parameters after the launch command (eg : +sv_hostname m3fh4q Q3_CPMA server)

nano /home/quake3/quake3_arena/baseq3/server.cfg 

(Ctrl-O to save, Ctrl-X to exit the editor)

I recommend reading the file and understanding the commands, to show it’s content :

more /home/quake3/quake3_arena/baseq3/server.cfg 

Your Quake 3 Arena CPMA server files are now installed, server instance(s) can be launched !

The server(s) will be fully managed with the quake3 user, log in as quake3 for this section.

This will create a detached terminal called «cpma_server1»

Each instance of a Quake 3 CPMA dedicated server needs to be launched in a detached terminal using screen, if you launch a server from your current session, it will shutdown when you exit it.

Open as many screen sessions as Quake 3 Arena CPMA dedicated server instances you intend to host on your server, a 1 CPU and 1GB of RAM server can usually handle 2 instances with sv_maxclients 8.

Читайте также:  High resolution timers in linux

Prepare your server(s) launch settings string

Prepare a string of settings that will follow the launch command, use all the necessary sv_ commands

Example of a string of settings :

+set dedicated 2 +set fs_game cpma +exec server.cfg +sv_hostname m3fh4q Q3CPMA server +set net_port 27960″

«+set dedicated 2 +set fs_game cpma» is mandatory !

The most important command is set net_port, each Quake 3 Arena CPMA server instance on your server needs to have a different one, sample : 27960 and 27961 if you have 2 servers, 27962 afterwards etc.

Create your own string of settings and save it somewhere or create a .cfg file in the /home/quake3/quake3_arena/baseq3/ directory.

The line break with » is important !

Using the example in this guide :

screen -S cpma_server1 -X stuff "cd /home/quake3/quake3_arena/ && ./quake3e.ded.x64 +set dedicated 2 +set fs_game cpma +exec server.cfg +sv_hostname m3fh4q Q3CPMA server +set net_port 27960 " 
screen -S screen_session_name -X stuff "cd /home/quake3/quake3_arena/ && ./quake3e.ded.x64 +set dedicated 2 +set fs_game cpma " 

Or (if you’re using a seperate custom server cfg file)

screen -S cpma_server1 -X stuff "cd /home/quake3/quake3_arena/ && ./quake3e.ded.x64 +set dedicated 2 +set fs_game cpma +exec custom_server_cfg.cfg " 

Using the example in this guide :

screen -S cpma_server1 -X stuff "quit " 
screen -S screen_session_name -X stuff "quit " 

To use the server console, you need to enter the screen session associated with it.

Using the example in this guide :

screen -r screen_session_name 

Press Ctrl+A and Ctrl+D at the same time to detach from session

If the CPMA mod gets an update (Last update was July 27th 2010) :

  • Shutdown the Quake 3 Arena CPMA dedicated server instance(s) running on your server (Stop the server(s) using the instructions above).
  • Remove the /home/quake3/quake3_arena/cpma directory
  • Put the new cpma directory in /home/quake3/quake3_arena/
  • You will probably have to update Quake3e, in that case, remove all the Quake3e* files in /home/quake3/quake3_arena/ , download and extract the new Quake3e client files in /home/quake3/quake3_arena/ , Quake3e official site
  • Start the Quake 3 Arena CPMA dedicated server instance(s) you previously shutdown

You can connect to your server using the following command (in console)

connect yourserverip:port_of_the_instance 

After some time, Quake 3 Arena CPMA dedicated servers can feel unresponsive, which is why they need to be restarted every 24 hours.

To do this, we’ll use the cron utility to perform a sever shutdown and restart.

Creating the strings for cron

Shutdown (using the example in this guide) :

00 06 * * * screen -S cpma_server1 -X stuff «quit\r»

Start (using the example in this guide) :

01 06 * * * screen -S cpm_server1 -X stuff «»cd /home/quake3/quake3_arena/ && ./quake3e.ded.x64 +set dedicated 2 +set fs_game cpma +exec server.cfg +sv_hostname m3fh4q Q3CPMA server +set net_port 27960\r»

Create your strings with your own server settings you used earlier

Читайте также:  Снизить чувствительность мыши linux

Adding the strings as cron entries

You can edit the crontab file using :

If you’re using nano : Ctrl-O to save, Ctrl-X to exit.

Add both strings previously created after the comments (# lines), each one of them as a single line !

You can list the cron entries using :

Using the example in this guide, crontab -l will return this :

00 06 * * * screen -S cpma_server1 -X stuff «quit\r»

01 06 * * * screen -S cpm_server1 -X stuff «»cd /home/quake3/quake3_arena/ && ./quake3e.ded.x64 +set dedicated 2 +set fs_game cpma +exec server.cfg +sv_hostname m3fh4q Q3CPMA server +set net_port 27960\r»

In this example, the Quake 3 Arena CPMA dedicated server instance running in the screen session called cpma_server1 will be shutdown at 06:00 and restarted at 06:01 system time (generally UTC).

Источник

Установка сервера Quake 3 на Linux

Это руководство по настройке выделенного сервера Quake 3 Arena в Linux. Он будет работать практически с любым вариантом Linux с небольшими изменениями или без них.

Этот сервер будет автоматически запускать игру и иметь доступ к удаленному администрированию через rcon.

  • Оригинальные .pk3 и .cfg файлы с компакт-диска с игрой или загрузить тут: файл.zip и файл.zip
  • Q3 server, можно скачать тут: файл.zip
  • Любой современный дистрибутив Linux i386, я использую debian
  • При установке был создан пользователь q3
  • Клиент Q3 Файлы

Подключиться к моему серверу можно введя адрес:

q3.game.lisander.ru (29.12.2022 - временно отключен)

Установка

Скачиваем Q3 server, запустив:

wget https://ftp.gwdg.de/pub/misc/ftp.idsoftware.com/idstuff/quake3/linux/linuxq3apoint-1.32b-3.x86.run

Переключаемся на пользователя root:

chmod +x linuxq3apoint-1.32b-3.x86.run

Запускаем установку сервера:

Скопировать в /usr/local/games/ следующие папки с файлами с заменой

Создание файла скрипта запуска:

#!/bin/bash cd /usr/local/games/quake3/ su q3 -c './q3ded +set fs_game osp +set sv_strictauth 0 +set sv_pure 0 +map q3dm6 +exec suchandsuch.cfg' 
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. screen -d -m -A -S Quake3 /home/q3/q3.sh exit 0
nano /etc/systemd/system/rc-local.service
[Unit] Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.local [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target
systemctl enable rc-local systemctl start rc-local

Источник

Оцените статью
Adblock
detector