ET QW
З'явилася в мене таке бажання підняти сервер ENEMY TERRITORY: QUAKE WARS. Пошукав погуглив, нічого розумного не знайшов довелося все самому робити. І ось вирішив поділитися досвідом. Починаємо.
Підготовка системиСервер лінуксовий, тому необхідний лінукс емулятор - linux_base-fc. Якщо у вас не встановлено linux_base-fc, тоді встановимо його зараз.
Додаємо запуск при старті.
Ребутимось і перевіряємо чи підвантажився у нас linux
| # kldstat Id Refs Address Size Name 1 12 0xc0400000 31ba68 kernel 2 1 0xc0723000 206c4 linux.ko 3 1 0xc0744000 5dee4 acpi. |
Все гаразд, модулі коректно підвантажилися. Для гри створимо користувача з-під якого будемо запускати гру наприклад "game".
ДистрибутивиНеобхідно завантажити дистрибутив сервера з сайту AusGamers Pty 1.)Дистрибутив сервера ETQW-server-1.5-full.x86.run 2.)Диск із самою грою для клієнтів (WinXP). 2.1)Патч для клієнта ETQW-client-1.0-1.5-update.exe
ІнсталяціяСтворюємо в домашньому каталозі директорію
Копіюємо в неї наш сервер
У нашому випадку ETQW-server-1.5-full.x86.run і даємо права на запуск
З'являється стандартна угода з ліцензією: погоджуємося yes Далі буде запропоновано ввести шлях куди ми поставимо сервер у мене
Після цього нам буде запропоновано встановити
Тиснемо галочку і погоджуємося встановити PunkBuster і чекаємо на завершення установки.
КонфігиВсе сервер встановлений переходимо до конфігурування. Хочу сказати в цьому є нюанс, файл конфігурації сервера в інсталяторі немає. Є два варіанти створення конфігураційного файлу Перший варіант створюємо конфіг самі.
Ось приклад мого конфігу
| // Public and contact options set si_adminname "Games Sity" // Назва проекту set si_website "http://games-sity.net" // Сайт сервера set si_email "aira@games-sity .net" // mail адміністратора сервера set si_irc "#ETQW" // канал у mirc |
// General options set si_name "ET: QW Games Sity" // Назва Сервера (відображається в грі) set net_serverPunkbusterEnabled "0" // Анти-чит 0\1 викл\вкл set net_LANServer " 0" // LAN або Internet Server 1\0 set si_maxPlayers "32" // max гравців у грі set si_privateClients "5" // приватні гравці
// Passwords set si_needpass "" set g_password "" set g_privatePassword "" set net_serverRemoteConsolePassword "###" // password від консолі адміністратора
// Game options set si_minPlayers "4" // min гравців у грі set si_readyPercent "80" // відсоток готовності гравців перед стартом set g_warmup "0.5" // час для розминки set g_allowLateJoin "1" // конект під час гри дозволити так\ні 1\0 set g_warmupDamage "1" // стрілянина по своїх так\ні 1\0
// Voting options set si_disableVoting "0" // голосування так\ні 0\1 set g_votePassPercentage "51%" // відсоток голосів для рестарту set g_voteWait "2.5" // час між голосуванням
// Message of the Day (motd) // повідомлення клієнту при заході на сервер max 4 рядки set si_motd_1 "" set si_motd_2 "" set si_motd_3 "" set si_motd_4 ""
// Bot settings // налаштування ботів (не використовую не розбирався) set bot_enable "0" set bot_minClients "-1" set bot_uiNumGDF "-1" set bot_uiNumStrogg "-1" set bot_balanceCriticalClass "1" set bot_sleepWhenServerEmpty "1" set bot_skill "3" set bot_aimSkill "1" set bot_uiSkill "2" set bot_doObjectives "1" set bot_fakePing "0" set bot_sillyWarmup "0" set bot_useShotguns "0" set bot_useSniperWeapons "1" set bot_useVehicles "1" set bot_knifeOnly "0" set bot_useStrafeJump "0" set bot_useSpawnHosts "1" set bot_useSuicideWhenStuck "1" set bot_useTKRevive "1" set bot_useDeployables "1"
// Other options set si_spectators "0" // дозволити глядачів так\ні 0\1 set g_muteSpecs "0" // дозволити чат у грі так\ні 0\1 set g_maxSpectateTime "0" // час перебування в глядачах (0-нескінченно) set g_kickBanLength "2" // час кік\бан set g_teamSwitchDelay "5" // set si_teamForceBalance "0" // балансування немає\да 0 \1 set si_teamDamage "1" // set si_xpSave "0" // set g_gameReviewPause "0.5" // set g_gameReviewReadyWait "0" // set g_execMapConfigs "0" // set si_adminStart "0" // set si_rules "sdGameRulesCampaign" // тип ярми
set m1 "set g_nextMap $m2; spawnServer campaign_africa" set m2 "set g_nextMap $m3; spawnServer campaign_northamerica" set m3 "set g_nextMap $m4; spawnServer campaign_northeurope" spawnServer campaign_pacific" vstr m1 spawnServer campaign_northamerica
Другий варіант скористаємося конструктором конфігів із сайту Infinity-Gamehosting Ідемо на сайт Infinity-Gamehosting У config обов'язково повинні бути рядки
| set m1 "set g_nextMap $m2; spawnServer campaign_africa" set m2 "set g_nextMap $m3; spawnServer campaign_northamerica" set m3 "set g_nextMap $m4; spawnServer campaign_northeurope" spawnServer campaign_pacific" vstr m1 spawnServer campaign_northamerica |
Інакше сервер падає чи не стартують взагалі.
ЗапускНу ось сервер стоїтьконфіг написано, залишилося запустити. Редагуємо стартовий скрипт під себе.
Доводимо до такого виду.
| #!/bin/sh cd `dirname $0` export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:." LOGFILE=/home/game/etqw-server/server.log exec ./etqwded.x86 +set net_serverDedicated 0 +set net_ip 10.0.4.106 +set net_port 27733 +exec server.cfg 2> &1 & |
Чекаємо кінця завантаження
| ----------- Loading Map Bot Actions ------------ thread priority set to 2 ------------ -------------------------- ----- idRenderModelManagerLocal::EndLevelLoad ----- 32 purged from previous 1405 kept від попередньої 90 новий loaded all models loaded in 0.0 seconds ------------------------- -------------------------- --------------------- -------------- 15540 msec до load maps/valley.entities Loaded map в 16 seconds Розроблений сервер signed in and is authenticated. hitch (100 msec) hitch (100 msec) hitch (100 msec) |
Перевіряємо, що сервер нормально стартував.
Усі норми сервер стартував. Ну ось ніби всі.
Для адміністрування сервера керуємо файл
а саме такі рядки
| group Admin password ваш пароль |
Пере запускаємо сервер і можна логінуватися в адмінці управління сервером через клієнт.
Сильно не штовхати пишу вперше.
Perec, 2009-01-04 о 10:45:07
А хтось знає, як статистику прикрутити і де її взяти.
Виправити потрібно у стартовому скрипті:наприкінці передостаннього рядка екран поставити! #!/bin/sh cd `dirname $0` export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:." LOGFILE=/home/game/etqw-server/server.log exec ./etqwded.x86 +set net_serverDedicated 0 +setnet_ip 10.0.4.106 \ +set net_port 27733 +exec server.cfg 2>&1 &