Идиоты не учатся даже на своих ошибках...
Не наступайте на грабли других придурков!
Захотелось сервер L4D2 заиметь. Взял готовый тут http://www.myarena.ru/
Сделано удобно, все админки / конфиги / etc etc - великолепно, только мелкие придирки. Одно только но! Сервак крашится через каждые 30 минут при игре versus, на что супорт открыто намекает на мою криворукость.
Сообщение от специалиста технической поддержки Антона в 17.10.2014 21:17Сам человек пробыл на серваке без единого плагина до типичного краша, после чего разнылся что удален сурмод при запущенной игре (удален до запуска сервера, раз 5 разными доступными формулировками пытался объяснить - пятница вечер, все понимаю), на этом тикет закрыт, пару попыток переустановок сервака тот же результат (coop тянет, версус 4х4 полчаса игры от силы).
Вообще то, я зашел в панель управления, когда сервер упал, при Вас и при мне, и не заметил, чтобы он был установлен. Устанавливал я его после сообщения, чтобы Вы не трогали.
Я не вижу проблем со стороны хостинга. Сервер работает исправно, если им нормально пользоваться.
Просто сперва все настройте.
Дедик!
гораздо приятнее настраивать на родном linux с sftp / консольками / apt-get -ми.выбор по понятным причинам пал на этот тарифный план с виртуализацией KVM за 200 р/мес.
после оплаты получаешь ssh доступ к телу
Linux vm88852.local 3.10-0.bpo.3-amd64 #1 SMP Debian 3.10.52-1~bpo1 (2014-08-11) x86_64 GNU/Linux
uname -a#1 SMP Debian 3.2.63-2 x86_64 GNU/Linux
$ ssh-keygen -t rsa
$ ssh-copy-id -i ~/.ssh/id_rsa.pub steam@serverip
Установка сервака:
# adduser steam
# su - steam
$ mkdir ~/steamcmd
$ mkdir ~/l4d2
$ cd ~/steamcmd
$ wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
$ tar -xvzf steamcmd_linux.tar.gz
немного магии$ mkdir /home/steam/.steam
$ ln -s /home/steam/steamcmd/linux32/ /home/steam/.steam/sdk32
при запуске получаем сообщение что нет 32 либ (это же сообщение остановило на древнем виртуалхосте bsd, и на всех двух 7 дебианах):
доустанавливаем
# dpkg --add-architecture i386
# apt-get update
# apt-get install ia32-libs
После чего запустился steamcmd
Steam>login anonymousSteam>force_install_dir /home/steam/l4d2/Steam>app_update 222860 validate
спустя 8Гб
Update state (0x81) committing, progress: 93.00 (7574073846 / 8144478033)Success! App '222860' fully installed.
$ cd /l4d2/left4dead2/
$ wget http://sourcemod.otstrel.ru/sourcemod-1.6.2-linux.tar.gz
$ wget http://mirror.pointysoftware.net/alliedmodders/mmsource-1.10.3-linux.tar.gz
$ tar xvzf mmsource-1.10.3-linux.tar.gz
$ tar xvzf sourcemod-1.6.2-linux.tar.gz
раньше нужно было вбивать вручную тут
http://www.metamodsource.net/?go=vdf
Game:
Game Folder:
сейчас в версии он идет в комплекте
/home/steam/l4d2/left4dead2/addons/metamod.vdf
со следующим содержимым.
"Plugin"
{
"file" "addons/metamod/bin/server"
}
пара трюков
- имеет смысл запускать сервер в сеансе screen (сервер не вырубится в случае дисконнекта /краха ssh etc). Вторая команда добавляет нормальную прокрутку.
# apt-get install screen
прокрутка в скрине эпичная: ^a Esc стрелки или PageUp\Down
- тестовый запуск:
$ /home/steam/l4d2/srcds_run -console -game left4dead2 +hostport 27015 +exec server.cfg +map c1m1_hotel
- проверка метамод/сорсмод:
>meta listListing 2 plugins:[01] SourceMod (1.6.2) by AlliedModders LLC[02] SDK Tools (1.6.2) by AlliedModders LLC>sm plugins list[SM] Listing 18 plugins:
- прописываем админа в
$ echo '"STEAM_0:1:33282568" "99:z"' >> /home/steam/l4d2/left4dead2/addons/sourcemod/configs/admins_simple.ini
steam id можно узнать тут
Joined Steam: | 2010-06-21 |
Steam Level: | 5 |
Friendship: | Sign in to check |
Online Status: | Online |
Profile Privacy: | Public |
Trade Ban: | None |
VAC Ban: | None |
Community Ban: | None |
не забыть обновить список админов:
Раз уж есть сервак, то можно и пригласительное сообщение оставить.sm_reloadadmins
Устанавливаем, минимальные настройки на выдачу статических файлов:
# mkdir /data/www/l4d2_servermessage/ -p
# chown www:www -Rfv /data/
# apt-get install nginx-light
в /etc/nginx/nginx.conf в секцию http добавим
server{
location / {
root /data/www;
}
location /data/www/l4d2_servermessage/ {
root /data/www/;
}
}
автозапуск nginx
# update-rc.d -f nginx defaults
в моем случае вышло такое что можно прописать в motd.txt
если не отображается - проверить переменную motd_enabled "1" в server.cfg
server.cfg
группа стим:
sv_steamgroup "6999149"
группа стим:
sv_steamgroup "6999149"
безопасность:
https://wiki.debian.org/iptables #####
# Steam Ports
#####
# Game Client Traffic + Matchmaking and HLTV
-A INPUT -p udp -m udp --dport 27000:27030 -j ACCEPT
# Steam Downloads
-A INPUT -p tcp -m tcp --dport 27014:27050 -j ACCEPT
# Other ports for Steam
-A INPUT -p udp -m udp --dport 4380 -j ACCEPT
-A INPUT -p udp -m udp --dport 3478 -j ACCEPT
-A INPUT -p udp -m udp --dport 4379 -j ACCEPT
-A INPUT -p udp -m udp --dport 4380 -j ACCEPT
Дополнения
все плагины сваливаем
~$STEAM_HOME/addons/sourcemod/plugins/
или переапускаем сервер или
sm plugins load plugin_name.smx
если компилить плагины (после небольших изменений), то необходимо сначала перейти в папку scripting и уже потом компилировать
сумарно так:
$ cd /home/steam/l4d2/left4dead2/addons/sourcemod/scripting/
$ ./compile.sh plugin_name.sp
$ cp compiled/plugin_name.smx ../plugins/
https://bitbucket.org/ProdigySim/misc-sourcemod-plugins/src/e14a8be7d647e485478d926ca4ea256ea0c97337/lerptrack/?at=default
Крики стоны etc
http://www.gamemaps.com/details/3568
Смена карты после игры
https://forums.alliedmods.net/showthread.php?p=1463891
!boss !tank !witch
https://github.com/CanadaRox/sourcemod-plugins/tree/master/l4d_boss_percent
анонсы задротов:
sm_skill_report_enable 1
sm_skill_report_flags 1048575
!afk !s:
https://forums.alliedmods.net/showthread.php?p=1130434
reservedslots: https://github.com/alliedmodders/sourcemod/blob/master/plugins/reservedslots.sp
l4d2_tickrate_enabler
echo "deb http://http.debian.net/debian/ jessie main contrib non-free" >> /etc/apt/sources.list
aptitude update
apt-get -t jessie install libc6-amd64 libc6-dev libc6-dbg libc6-i386
и даже после этого не заработает ;)
замени на вот эту дрянь
sv_maxupdaterate 100 sv_maxcmdrate 100 fps_max 150 // higher than 100 recommended, as ticks calculated seems to dip otherwise. sv_maxrate 0 // 0 = unlimited, but you can also set this manually. Default is 30k for 30tick, use math. // Setting higher sv_minrate can be used to force users to use higher data rates. Note that fps_max and sv_maxrate are hidden variables on most scenarios.
и в строке запуска добавляется -tickrate 100
$ /home/steam/l4d2/srcds_run -console -game left4dead2 +hostport 27015 +exec server.cfg +map c1m1_hotel -tickrate 100 -maxplayers 12
ссылки:
https://developer.valvesoftware.com/wiki/SteamCMDhttp://tj-s.ru/tod/mouse-parallax.html
http://ramer.livejournal.com/94790.html
http://www.l4dnation.com/l4d2-discussion/l4d2-server-guide
http://steamcommunity.com/sharedfiles/filedetails/?id=276173458
настройка ssmod
http://beskuda.com/forum/16-19-1
Net / Rates
понятия: http://www.counterstrike.ru/pagestop-138-page-1.htmhttps://bitbucket.org/ProdigySim/l4d2_tickrate_enablerl
Изнутри:
https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
клиент с его сс*ными лерпами:
http://steamcommunity.com/groups/xbrs/discussions/0/540731691228870837/