понедельник, 1 ноября 2010 г.

Counter-Strike Dedicated Server with Dproto in details

Я уже раз рассказывал про установку игрового сервера Counter-Strike под линуксом. Сегодня я расскажу про установку игрового сервера с одновременной поддержкой 47 и 48 протоколов + metamod + amxmodx. Так же выложу список плагинов, которые использую на своем сервере.

1. Скачиваем hldsupdatetool.bin
# wget http://storefront.steampowered.com/download/hldsupdatetool.bin
# chmod a+x hldsupdatetool.bin
Выполняем, получаем файл steam.

2. Скачиваем сервер
# ./steam -command update -game cstrike -dir /home/cstrike_server
3. Настройка сервера

Разберем для начала конфигурационный файл сервера.
# cat /home/cstrike_server/cstrike/server.cfg
sv_aim 0
sv_cheats 0
sv_downloadurl "http://mydomain.com/cs/" // Ссылка для быстрого скачивания файлов
sv_allowupload 1  // Разрешаем загрузку на сервер спрайтов и т.п.
sv_allowdownload 1 // Разрешаем клиенту скачивать файлы с сервера
// logging
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1
sv_log_onefile 0
sv_contact my_contact // Тут можно указать свое мыло или сайт
sv_region 3 // Европа
mp_logdetail 3
mp_logmessages 1
// Качество звука
sv_voicecodec voice_speex
sv_voicequality 5

pausable 0
hostname "Имя_сервера" // Будет отображаться в клиенте
sv_maxspeed 320
mp_timelimit 20
mp_roundtime 2
mp_c4timer 35
mp_freezetime 2
mp_buytime 0.15
mp_limitteams 0 // Настройки для PTB
mp_autoteambalance 0 // PTB
// настройки камеры
mp_forcecamera 2
mp_forcechasecam 2

mp_tkpunish 0
mp_autokick 0
mp_friendlyfire 1
mp_hostagepenalty 0

exec listip.cfg
exec banned.cfg

sv_voiceenable 1
sv_alltalk 1

rcon_password "ваш_ркон_пароль" // Никому ему не давайте
 Не забудьте отредактировать файлы cstrike/motd.txt и cstrike/mapcycle.txt. Первый - это приветствие, которое пользователь увидит при входе на ваш сервер, а второй - список карт, которые будут поочередно меняться на вашем сервере.

4. Скачиваем metamod-p
# tar -xf metamod-p-1.19p32-linux_i586.tar.gz
# mkdir /home/cstrike_server/cstrike/addons
# mkdir /home/cstrike_server/cstrike/addons/metamod
# mkdir /home/cstrike_server/cstrike/addons/metamod/dlls
# mv  metamod_i386.so /home/cstrike_server/cstrike/addons/metamod/dlls
# touch  /home/cstrike_server/cstrike/addons/metamod/plugins.ini
Редактируем cstrike/liblist.gam и заменяем
gamedll_linux "dlls/cs_i386.so"
на
gamedll_linux "addons/metamod/dlls/metamod_i386.so"
5. Установка Dproto.
 
Что такое dproto и где его скачать можно узнать тут http://cs.rin.ru/forum/viewtopic.php?f=29&t=55986
1. Go to /addons/ and make new directory named dproto
- its a game directory; cstrike for Counter-Strike, valve for Half-Life, etc
2. Copy dproto.dll or dproto_i386.so to /addons/dproto/
3. Go to metamod installation directory (usually its /addons/metamod/) and edit plugins.ini:
add this line for windows
win32 addons\dproto\dproto.dll
or this for linux
linux addons/dproto/dproto_i386.so
at the beginning of the file
4. Copy dproto.cfg to server root or gamedir.
5. Start the server. You should use this command on linux:
./hlds_run -binary ./hlds_i686

when server loads, type "meta list" in console. You'll see something like this:
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] dproto RUN - dproto_i386.so v0.4.3 ini Start Never
[ 2] AMX Mod X RUN - amxmodx_mm_i386. v1.8.1.3 ini Start ANY
2 plugins, 2 running
6. Enjoy :)
6. Установка http://www.amxmodx.org/
 
Скачиваем AMX Mod X Base и Counter-Strike Addon. Разархивируем все в /home/cstrike_server/cstrike/
О настройке amxmodx можно почитать на его офф. вике: http://wiki.amxmodx.org/Category:Documentation_%28AMX_Mod_X%29
Я лишь расскажу о некоторых моментах и расскажу про плагины, которые сам использую. Чтобы сервер мог понимать русский язык нужно в файле /home/cstrike_server/cstrike/addons/amxmodx/data/vault.ini и поменять server_language no на server_language ru. Если вы хотите, чтобы люди с пропатченой контрой могли писать русскими символами, или чтобы сервер корректно логировал сообщения на русском, то установите Server Unicode Patch
Основные конфигурационные файлы amxmodx находятся в директории /home/cstrike_server/cstrike/addons/amxmodx/configs. Из них следует выделить amxx.cfg, modules.ini, plugins.ini.
amxx.cfg - выполняется при каждой смене карты. Содержит перечень важных cvars, в том числе и всякие hud сообщения, которые будут показываться игрокам.
modules.ini - в этом файле прописываются модули amxmodx, которые будут подгружены при старте сервера/смене карты.
plugins.ini - содержит список плагинов, которые будут загружены при старте сервера/смене карты.
Так же чтобы не путаться с картами, советую сделать симлинк с cstrike/addons/amxmodx/confings/maps.ini на cstrike/mapcycle.txt

Список плагинов, которые используются на моем сервере http://l2pla.net/cs, выложу в конце поста.

7. Античит

Сейчас я остановился на античите CSFile Info. Пока для меня это самый оптимальный античит. Все античиты, которые требуют клиентскую часть(sXeI, UCP, и т.п.) сказываются на уменьшении онлайна, потому они мне не подходят. Из античитов без клиентской части (CSF, M1C, RHLG, и т.п.) мой выбор пал именно на CSFile info, ибо и настроек хватает, и сервер кажется с ним не лагает, да и пока нареканий небыло :)
С нетерпением жду выхода новой версии RHLG, обещает быть очень интересной :)

8. Вкусности

Могу посоветовать в связке с CSFile Info использовать amxbans. Но качать посоветую отсюда. Там же можно почитать о настройке. Настраивается просто и быстро.
Если же кому-то нужна статистика, то статистику можно взять тут: http://www.psychostats.com. На ихнем форуме есть отдельная русская ветка, там можно почитать об установке и настройке. :)

9. Список плагинов, как и обещал:
amxbans_core.amxx
amxbans_main.amxx
admincmd.amxx        ; basic admin console commands
adminhelp.amxx        ; help command for admin console commands
adminslots.amxx        ; slot reservation
multilingual.amxx    ; Multi-Lingual management
menufront.amxx        ; front-end for admin menus
cmdmenu.amxx        ; command menu (speech, settings)
plmenu.amxx        ; players menu (kick, ban, client cmds.)
mapsmenu.amxx        ; maps menu (vote, changelevel)
pluginmenu.amxx        ; Menus for commands/cvars organized by plugin
adminchat.amxx        ; console chat commands
antiflood.amxx        ; prevent clients from chat-flooding the server
scrollmsg.amxx        ; displays a scrolling message
imessage.amxx        ; displays information messages
adminvote.amxx        ; vote commands
nextmap.amxx        ; displays next map in mapcycle
super_mapchooser.amxx
timeleft.amxx        ; displays time left on map
pausecfg.amxx        ; allows to pause and unpause some plugins
statscfg.amxx        ; allows to manage stats plugins via menu and commands
statsx_gui.amxx
miscstats.amxx        ; bunch of events announcement for Counter-Strike
stats_logging.amxx    ; weapons stats logging (CSX Module required!)
; Custom - Add 3rd party plugins here

;anticheat
csf_opengl32.amxx
csf_anticheat.amxx
csf_fix_back.amxx
; admin stuff
admin_spec_esp.amxx
antisilentrun.amxx
admin_free_look.amxx
amx_screen2.amxx
amx_gag.amxx

; VIP
admin_vgk.amxx

; Game Menu
gamemenu.amxx
; Death Beams (луч от убитого к убившему)
all_death_beams.amxx
; Rock The Vote
rockthevote_custom.amxx
; ping kicker
high_ping_kicker.amxx
; информация о смене рейтинга
info_rank.amxx
; проверка админов в онлайне
admin_check.amxx
; Управление голосом
Voices_Management.amxx
; Перезарядка в начале раунда
autoreload_on_newround.amxx
; Блок hud сообщений
hudTextArgsBlock.amxx
; Enemy down
enemy_down.amxx
; Афк кикер
afk_manager.amxx
; Афк бомб трансфер
afkbombtransfer.amxx
; Антимат
swear_replacement.amxx
; Смена ника только мертвым
dead_name_change.amxx
; c4timer
c4timer.amxx
; Дроп гранат после смерти
realnadedrops.amxx
; no reconnect
reconnect_features.amxx
;no_retry.amxx
; Weapon Icon
weapon_icon.amxx
; fire in the hole
fire1.amxx
; Team Balancer
ptb.amxx
; Сообщения в чате
GHW_Message_Disp.amxx
; Unice Support
unicode_patch_support.amxx
 P.S. Пока тестовая версия, еще будут вносится правки.