Quake Live

Quake Live

Not enough ratings
Установка сервера КвейкЛайв с рейтингом ЭЛО на Убунту Линукс
By salamander789
Краткое руководство по установке и настройке личного дедикейт сервера КвейкЛайв с ретинговой системой ЭЛО на Линукс
   
Award
Favorite
Favorited
Unfavorite
Установка на Убунту 20.04
1. Устанавливаем steamcmd и сам КвейЛайв сервер:
sudo apt install lib32gcc1 mkdir ~/steamcmd cd ~/steamcmd wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -xvzf steamcmd_linux.tar.gz ./steamcmd.sh +force_install_dir ./steamapps/common/qlds/ +login anonymous +app_update 349090 +quit

2. Далее, если нам нужна система рейтингов:
sudo apt install redis-server git build-essential -y sudo apt install python3 python3-dev -y git clone https://github.com/MinoMino/minqlx.git cd minqlx make

3. Скопировать все из minqlx/bin в steamcmd/steamapps/common/qlds, вообщем в папку с файлами самого сервера КвейкЛайва

4. Клонировать репозиторий плагинов и скачать/собрать зависимости для Питона. Убедитесь что вы находитесь в директории куда установили все файлы сервера КвейкЛайва
git clone https://github.com/MinoMino/minqlx-plugins.git wget https://bootstrap.pypa.io/get-pip.py sudo python3 get-pip.py rm get-pip.py sudo python3 -m pip install -r minqlx-plugins/requirements.txt

5. Далее, нужно разрешить в файрволле доступ на порты (udp, tcp) 27960

6. Конфигурация сервера через файл:
~/steamcmd/steamapps/common/qlds/baseq3/server.cfg
В нем содержится описание команд, разобраться будет не сложно

7. Запуск сервера. Чтобы сервер не выключался после закрытия консоли будем пользоваться tmux
sudo apt install tmux tmux cd ~/steamcmd/steamapps/common/qlds sh ./run_server_x64_minqlx.sh
ctr + b затем d - мы выходим из tmux, но сервер продолжает работать

8. Подключение qlstats.net
server.cfg >> set zmq_stats_password
Идем на qlstats.net >> Add Server

Дополнительно:
Если хотите поставить лимит по эло например для дуэлей, то нужен дополнительный плагин mybalance.py
Его и много других плагинов брать отсюда: https://github.com/dsverdlo/minqlx-plugins

Спасибо за внимание увидимся на арене!
Пример server.cfg для дуэльного сервера
// Servers have the ability to run multiple gametypes, known as "factories." You should not add gameplay related // cvars in the server config: they may get overwritten by the factory. For creating your own sets of gameplay rules, // create a file ending in ".factories" inside baseq3/scripts, and refer to "Creating custom gametypes" in the // server_readme.txt file. // Be aware that factories can override any cvar, including ones specified in this config file. set sv_hostname "Duel Noobs Max Elo 1200" set sv_tags "noobs, msk, qlstats.net" // Comma delimited field of server tags to show in server browser. // Will automatically include gametype and some gameplay modifications. // ex. "crouch slide, classic, space" set sv_mapPoolFile "mappool_duel.txt" // Map pool that the server will use. See default mapcycle.txt for format. // Built in map pools: mappool.txt, mappool_ca.txt, mappool_ctf.txt, mappool_duel.txt, // mappool_ffa.txt, mappool_race.txt, mappool_tdm.txt set g_accessFile "access.txt" // Used to determine which 64-bit Steam IDs have admin access, or are banned. set sv_maxClients "8" // How many players can connect at once. set g_password "" // Set a server-wide password, and stop all users from connecting without it. set sv_privateClients "0" // Reserve slots that can be used with sv_privatePassword. set sv_privatePassword "" // Password to use in conjunction with sv_privateClients. set com_hunkMegs "60" // May need to be increased for additional players. // Flood protection will increment everytime the user sends a client command, ex. dropweapon, changing name, color // model, or chatting. Set g_floodprot_maxcount to 0 to disable completely, but this will allow uncontrolled spam. set sv_floodprotect "10" // Kick the player when they reach x commands, decreases by 1 every second set g_floodprot_maxcount "10" // Kick the player when their userinfo flood counter reaches this level. set g_floodprot_decay "1000" // Decrease the userinfo flood counter by 1 this often, in milliseconds. // Add the below values for which callvotes should be DISABLED: // map 1 // map_restart 2 // nextmap 4 // gametype 8 (ex: "/callvote map campgrounds" will be allowed, but "/callvote map campgrounds ca" will fail) // kick 16 // timelimit 32 // fraglimit 64 // shuffle 128 // teamsize 256 // cointoss/random 512 // loadouts 1024 // end-game voting 2048 // ammo (global) 4096 // timers (item) 8192 set g_voteFlags "13416" set g_allowVote "1" // Turn off all votes set g_voteDelay "0" // Delay allowing votes for x milliseconds after map load. set g_voteLimit "0" // Limit users to x votes per map. set g_allowVoteMidGame "0" // Don't allow callvotes once the map has started set g_allowSpecVote "0" // Allow spectators to call votes set sv_warmupReadyPercentage "0.51" // Ratio of players that must be ready before the match starts. set g_warmupDelay "15" // Wait x seconds before allowing match to start to allow all players to connect. set g_warmupReadyDelay "120" // Force the game to start after x seconds after someone readies up. set g_warmupReadyDelayAction "1" // Set to 1 to force players to spectator after g_warmupReady Delay, 2 to force ready up. set g_inactivity "1800" // Kick players who are inactive for x amount of seconds. set g_alltalk "0" // 0: Limit voice comms to teams during match // 1: Allow all players to talk to each other always // 2: 1+ send back your own voice to yourself for testing // System settings // Uncomment and set below to use (server.cfg will override commandline!) // set net_strict "1" // Quit out immediately if we can't bind the IP and port. // set net_ip "" // Which IP to bind to. Blank will bind to all interfaces. // set net_port "55555" // Which UDP port to bind to. Blank will start at 27960 and keep going up, if net_strict is 0. set sv_serverType "2" // 0 = Offline, 1 = LAN, 2 = Internet set sv_master "1" // Whether the server should respond to queries. Disable this to stop server from appearing in browser. // (This will affect the LAN browser!) set sv_fps "40" // Change how many frames the server runs per second. WARNING: Has not been tested extensively, and // will have a direct impact on CPU and network usage! // Exit the server if idle (not running a map) for a specified time. This will allow it to automatically restart // in the case of a game error or other problem. A value of "1" is recommended, but not default, when you are running // the server detached from the terminal. set sv_idleExit "120" // Enable remote console, provided through ZeroMQ. See zmq_rcon.py for simple client. // ZMQ rcon binds on a separate port from the game server, and uses TCP. It must differ from the stats port if used. // Rcon can not be enabled or disabled after launch, nor can the IP and port change. Password can, however. // Uncomment and set below to use (server.cfg will override commandline!) // set zmq_rcon_enable "1" // set zmq_rcon_ip "" // set zmq_rcon_port "28960" // set zmq_rcon_password "" // Enable ZeroMQ stats socket. This will not be much use without a client listening. // See zmq_stats_verbose.py for example connect and stats printing. // If not specified, the stats socket will default to the same IP and port as the game server, but on TCP. // Uncomment and set below to use (server.cfg will override commandline!) // set zmq_stats_enable "1" // set zmq_stats_ip "" set zmq_stats_port "27960" set zmq_stats_password "password" // The server will run serverstartup when it finishes initializing, so start a random map from the map pool. set serverstartup "startRandomMap" // Or, start a map of your choosing (factory is required) // set serverstartup "map campgrounds ffa" set g_timeoutCount "3" set qlx_owner "76561198831995479" set qlx_plugins "balance, mybalance" set qlx_elo_limit_min "0" set qlx_elo_limit_max "1200" set qlx_elo_games_needed "10"
Пример исполняемого файла run_duel.sh для запуска сервера
#!/bin/bash cd "$(dirname "$0")" export LD_PRELOAD=$LD_PRELOAD:./minqlx.x64.so LD_LIBRARY_PATH="./linux64:$LD_LIBRARY_PATH" exec ./qzeroded.x64 +set zmq_stats_enable 1 +set fs_homepath /home/user/steamcmd/steamapps/common/qlds/duel +set net_port 27960 "$@"