Но сразу последуют вопросы, примерно следующего характера: 1) Какой доступ в Интернет мне нужен
2) Какой компьютер мне потребуется
3) Где взять дистрибутив source dedicated server
4) Как его настроить и запустить
Попробую, как смогу, ответить на эти вопросы:
1) В первую очередь нужно иметь реальный, выделенный, постоянный(не динамический) IP-адрес, и с решением этого вопроса нужно приставать к собственному провайдеру. На каждое игровое место на сервере потребуется
64 кб/с скорости в обе стороны, то есть на 16 игровых мест потребуется минимум 1 Мбит/с в обе стороны. У меня скорость не ограничена в обе стороны. Насчёт того, сколько трафика в месяц жрёт такой сервер, точно сказать не могу, мне 20 Гигабайт хватает с лихвой.
2)С компьютером могу сказать только одно, лучше иметь отдельный под это дело. Но за неимением у меня раньше такого я использовал P4 3000/512/ATI 9600XT, его хватало на 1 сервер на 16 игровых мест и мою игру в Counter-Strike Source на минимальных настройках, причем не самую комфортную игру на свете, с FPS 15-40, в зависимости от карты. Сейчас у меня этот компьютер используется только как машина под два сервера Counter-Strike Source по 16 игровых мест каждый и один сервер Counter-Strike 1.6 тоже на 16 мест, на это его хватает с головой. Сервер установлен у меня под WINDOWS XP SP1
3) Дистрибутив source dedicated server распространяется бесплатно, для этого скачиваем утилиту HLDS Update Tool:
Windows
Прикрепленный файл hldsupdatetool.rar ( 674.65 килобайт ) Кол-во скачиваний: 148
Linux
Прикрепленный файл Linux_hldsupdatetool.rar ( 2.8 мегабайт ) Кол-во скачиваний: 80
Теперь утилита готова для запуска:
HldsUpdateTool.exe - для Win
./steam - для Linux
При первом запуске утилита обновится до последней версии.
hldsupdatetool [команды] [параметры] [флаги] .
Команды hldsupdatetool:
-command update
Установить или обновить HLDS.
-command version
Просмотр установленных версий.
-command list
Просмотр доступных игр.
Параметры hldsupdatetool:
-game <игра>
Имя игры.
-dir <директория>
место установки HLDS (если директория не задана, то будет использоваться значение последнего запуска утилиты).
-username <имя>
Имя Steam-аккаунта.
-password <пароль>
Пароль Steam-аккаунта.
Флаги hldsupdatetool:
-verify_all
Проверить, что все файлы HLDS последней версии.
-retry
Автоматически пытаться подключиться каждые 30 секунд, если система Steam занята (не отвечает).
-remember_password
Запомнить пароль (если есть имя пользователя).
Use: hldsupdatetool -command [parameters] [flags]
Командой
hldsupdatetool -command list
получаем список доступных модов сервера для скачки.
** 'game' options for Source DS Install:
"Counter-Strike Source"
"Counter-Strike Source-linux"
"Counter-Strike Source-win32"
"hl2mp"
"hl2mp-linux"
"hl2mp-win32"
Запускаем через консоль (Start > Run > cmd) следующим образом: HldsUpdateTool.exe -command update -game "Counter-Strike Source" -dir c:\srcds после и процесс пошел. Если утилита HldsUpdateTool у вас находится в той же директории, где будет располагаться сервер, то вместо -dir c:\srcds делаем -dir .
По окончанию работы утилиты вы получите надпись
HLDS installation up to date
Это значит, что вы получили последнюю версию сервера.
Для Linux выставляем права доступа на файл hldsupdatetool.bin (chmod +x hldsupdatetool.bin).
Запускаем:
./steam после чего будет скачана последняя версия hldsupdatetool.bin.
Запускаем:
./steam -command update -game "Counter-Strike Source" –dir
Создайте скриптик для последующих обновлений сервера Update.bat (update.sh для Linux)
C:\SRCDS\hldsupdatetool.exe -command update -game "Counter-Strike Source" -dir .
или для Linux:
#!/bin/bash
cd /home/cs/srcds_l
./steam -command update -game 'Counter-Strike Source' -dir -verify_all
Скачать готовый сервер можно у нас: Готовые сервера CS:S
4)Теперь нам нужно наш сервер сделать Non-Steam. Для этого качаем программу Universal Valve Dedicated Server Patcher. Для Linux находим в папке /bin корневой директории сервера следующие файлы: engine_amd.so, engine_i486.so, engine_i686.so. Копируем их в Windows патчим и заливаем обратно в туже папку /bin с заменой.
Переходим к созданию скрипта запуска. В Windows это можно сделать ярлыком: щелкаем правой клавишей на рабочем столе, выбираем Создать/Ярлык, в появившемся окне «Создание ярлыка» пишем c:\srcds\srcds.exe или находим srcds.exe через Обзор, даем имя ярлыку и говорим Готово. На рабочем столе появился новый ярлык. Заходим в его Свойства, выбираем закладку Ярлык и в строке Объект, где у нас уже прописано С:\SRCDS\srcds.exe, дописываем:
С:\SRCDS\srcds.exe +sv_lan 1 -console -game cstrike -nomaster -nosteam -insecure -tickrate 66 -noipx +ip 255.255.255.255 -port 27015 +map de_dust2 +maxplayers 21
• -game cstrike (указываем, что это CSS сервер)
• -console (консольный режим)
• -nomaster (указываем, что сервер не будет показан в глобальной базе данных серверов, мы ведь не хотим чтобы нас поймали с кракнутым сервером)
• -insecure (valve использует свой собственный античит VAC, но его нет смысла устанавлить на кракнутые No-Steam сервера, потому что он банит только легальных клиентов)
• +maxplayers 21 (указывает, что на сервере смогут играть максимально 10 игроков)
• +sv_lan 1 (эта строка должна быть ОБЯЗАТЕЛЬНО, если только сервер не рассчитан для легальных клиентов)
• +map de_dust2 (указывает, какая карта будет загружаться первой, после запуска сервера)
• -port 27015 (порт)
• +ip 255.255.255.255 (IP сервера)
• -noipx (выключает использование протокола ipx. IPX для игры через интернет не нужен)
Если вы хотите, что бы сервер стартовал автоматически при запуске/перезагрузки машины, то сделайте такой же ярлык в Программы/Автозагрузка.
Готовый бат файл (скопируйте в корневую директорию и отредактируйте)
Прикрепленный файл start.rar ( 204 байт ) Кол-во скачиваний: 76
Теперь рассмотрим запуск сервера на платформе Linux. Простой скрипт запуска start_css.sh:
#!/bin/bash
cd /home/cs/srcds_l
./srcds_run +sv_lan 1 -console -game cstrike -nomaster -nosteam -insecure -tickrate 66 -noipx +ip 255.255.255.255 -port 27015 +map de_dust2 +maxplayers 21 > /home/cs/server_css.log 2>&1 &
При этом, сервер будет писать все свои действия в /home/cs/server_css.log. Останавливаем сервер с помощью скрипта:
#!/bin/bash
kill `ps ax -H --cols 1000|grep -e "-game cstrike"|grep -e "srcds_"|grep -v grep|awk '{printf("%s\n",$1);}'`
Запуск сервера в фоновом режиме, через SCREEN.
Создаем на сервере файл под название cs_start.sh. В нем прописываем следующее:
#!/bin/sh
#vsftpd &
screen -A -m -d -S css-server ./srcds_run +sv_lan 1 -console -game cstrike -nomaster -nosteam -insecure -tickrate 66 -noipx +ip 255.255.255.255 -port 27015 +map de_dust2 +maxplayers 21
Сохраняем файл, выставляем права доступа:
chmod +x cs_start.sh
Для запуска сервера просто запустите cs_start.sh.
Переходим к настройке сервера, файла server.cfg (cstrike\cfg)
// Server name
hostname "Название вашего сервера"
// Rcon password
rcon_password "ваш rcon пасс"
// Logs
log "on" // ведение логов
mp_logdetail "3"
sv_logfile "1"
sv_logecho "1"
sv_logbans "1"
// Settings - MP
mp_allowspectators "1"
mp_forcecamera "1"
mp_forcerespawn "1"
mp_autocrosshair "0"
mp_autokick "0"
mp_autoteambalance "0"
mp_buytime ".25"
mp_c4timer "35"
mp_chattime "10"
mp_decals "200"
mp_fadetoblack "0"
mp_falldamage "1"
mp_flashlight "1"
mp_fraglimit "0"
mp_freezetime "2"
mp_footsteps "1"
mp_friendlyfire "1"
mp_hostagepenalty "0"
mp_limitteams "0"
mp_maxrounds "0"
mp_playerid "1"
mp_roundtime "3"
mp_spawnprotectiontime "0"
mp_startmoney "800"
mp_timelimit "25"
mp_tkpunish "0"
mp_weaponstay "0"
mp_winlimit "0"
mp_dynamicpricing "0"
// Settings - SV
fps_max "600"
sv_airaccelerate "10"
sv_accelerate "5"
sv_allowdownload "1"
sv_allowupload "0"
sv_alltalk "0"
sv_gravity "800"
sv_cheats "0"
sv_consistency "1"
sv_footsteps "1"
sv_friction "4"
sv_client_predict "1"
sv_client_interpolate "1"
sv_client_cmdrate_difference "30"
sv_maxspeed "320"
sv_pausable "0"
sv_specaccelerate "3"
sv_specnoclip "1"
sv_specspeed "3"
sv_stats "0"
sv_stepsize "18"
sv_stopspeed "75"
sv_timeout "65"
sv_region "3"
sv_contact "Ваш майл"
sv_unlag "1"
sv_maxunlag ".5"
sv_voiceenable "0"
sv_voicecodec "vaudio_miles"
// Server Rates based > 20 players
sv_minrate "10000"
sv_maxrate "30000"
sv_mincmdrate "30"
sv_maxcmdrate "66"
sv_minupdaterate "30"
sv_maxupdaterate "66"
// Other
net_maxfilesize "60"
decalfrequency "60"
host_framerate "0"
server.cfg
Прикрепленный файл server.rar ( 769 байт ) Кол-во скачиваний: 95