- вступ
- Технічна частина
- Установка виділеного сервера
- Налаштування виділеного сервера Garry's Mod
- Міні-FAQ по серверу Garry's Mod
вступ
Кілька місяців тому я писав про встановлення та налаштування слухача сервера Garry's Mod . В даному HOWTO я детально напишу як скачати, встановити і налаштувати виділений (Dedicated) сервер Garry's Mod. Ми детально розглянемо установку адмінки, розширень і плагінів.
Технічна частина
- Щоб до Вас могли підключатися клієнти, Ви повинні мати «білий» IP-адреса, тобто видимий з Інтернету. Створення сервера з «сірим» IP, або з жорстким NAT'ом провайдера не має сенсу, тому що підключитися до такого серверу ніхто не зможе (крім перебувають з Вами в одній підмережі).
- Якщо у Вас ADSL, ви повинні прокинути порт, на якому буде встановлено сервер, по протоколу UDP (для підключення клієнтів) і TCP (для віддаленого адміністрування (rcon)) в настройках свого роутера (модему). Зазвичай кидок портів налаштовується в веб-інтерфейсі роутера в розділі NAT - Port Forwarding або NAT - Virtual Servers.
- На сервері головне - швидкість віддачі від Вас клієнтам, а також потужність процесора Вашого комп'ютера. На ADSL максимальна віддача може становити близько 780 Кбіт / с - 1 Мбіт / с (на ADSL з модуляцією AnnexM (такий різновид зустрічається вкрай рідко) - 3 Мбіт / с). Якщо у Вас тариф на 256 Кбіт / с, то до Вас можуть підключитися 6 клієнтів. Якщо 512 - 10-12 клієнтів, якщо 1 Мбіт і більше (ADSL) - 18 клієнтів, кабель без NAT - 23 клієнта (максимум для слухача сервера). У соотвествие з цими параметрами Ви повинні налаштувати значення змінної «Максимальне число гравців» під час створення сервера. Якщо Ваш канал або процесор не будуть витримувати таку кількість підключилися гравців, у всіх з'являться лаги.
Увага! Не створюйте сервер на велику кількість користувачів, тому що це може викликати серйозні лаги.
Установка виділеного сервера
- скачайте SteamCMD з офіційного сайту за посиланням: http://media.steampowered.com/installer/steamcmd.zip .
- Розпакуйте викачаний SteamCMD в папку за замовчуванням C: \ SteamCMD \ (в дорозі не повинно бути пробілів і російських букв).
- Створіть папку, в яку Ви будете встановлювати виділений сервер Garry's Mod. Рекомендуємо встановлювати в корінь диска щоб не було проблем з пробілами в шляхах. Також в дорозі не повинно бути російських букв (допустимі тільки латинські букви, цифри і символ підкреслення). Рекомендуємо: C: \ srcds \, де замість C: \ підставте літеру будь-якого диска з достатньою кількістю вільного місця (встановлений сервер Garry's Mod з плагінами вимагає мінімум 4 ГБ).
- Перейдіть в створену на попередньому кроці папку папку і створіть в ній файл update.cmd (можна update.bat). У цей файл впишіть наступне: @echo off C: \ SteamCMD \ steamcmd.exe + login anonymous + force_install_dir C: / srcds + app_update 4020 validate + quit pause
Тут C: \ SteamCMD \ - шлях до встановленого SteamCMD, а c: \ srcds - каталог, в який будемо встановлювати сервер.
- Запускайте створений файл update.cmd на виконання. При першому запуску буде вироблено автоматичне оновлення утиліти поновлення, потім почнеться скачування і установка виділеного сервера. Автоматичне оновлення hldsupdatetool Завантаження виділеного сервера
- Після закінчення завантаження (залежить від швидкості Вашого Інтернет-з'єднання; сервер важить близько 900 МБ), перейдіть в каталог з: \ srcds \ orangebox \, де з: \ srcds \ - це каталог установки виділеного сервера і створіть там файл launch.cmd ( або launch.bat) з текстом: start / high srcds.exe -console -game garrysmod -port 27015 -maxplayers 12 + map gm_flatgrass
Тут -port 27015 - порт, на якому буде «висіти» сервер (UDP / TCP), -maxplayers 12 - максимальна кількість гравців на даному сервері, + map gm_flatgrass - карта, з якою запуститься сервер. Якщо потрібно автоматично перезапускати сервер при помилках / падіннях, то замість попереднього тексту, впишіть наступний:
@echo off cls echo Protecting srcds from crashes ... echo If you want to close srcds and this script, close the srcds window and type Y depending on your language followed by Enter. title srcds.com Watchdog: srcds echo (% time%) srcds started. start / wait srcds.exe -console -game garrysmod -port 27015 -maxplayers 12 + map gm_flatgrass echo (% time%) WARNING: srcds closed or crashed, restarting. goto srcds - Запустіть сервер створеним файлом launch.cmd або launch.bat.
- Сервер успішно встановлений.
Налаштування виділеного сервера Garry's Mod
Сервер був встановлений, але, на жаль, поки він не придатний для використання. Потрібно його налаштувати.
- Встановіть джентльменський набір плагінів з svn для Garry's Mod, так, як описано в цієї статті вручну або автоматично (встановлювати плагіни Ви повинні в каталог c: \ srcds \ orangebox \ garrysmod \ addons \, де c: \ srcds \ - каталог установки виділеного сервера. Всю інформацію по установці і самі скрипти установки / оновлення плагінів Ви знайдете по цим посиланням . Обов'язково встановіть ULX, U-Lib і U-Restrict.
- Скачайте і розпакуйте архів з файлами конфігурації сервера в папку c: \ srcds \ orangebox \ garrysmod \ cfg \, де c: \ srcds \ - шлях установки сервера.
- Відкрийте файл c: \ srcds \ orangebox \ garrysmod \ cfg \ server.cfg в будь-якому текстовому редакторі і внесіть в нього правки: змініть ім'я сервера (змінна hostname), змініть rcon-пароль (rcon_password) і т.д. У файлі я все докладно описав яка змінна чим керує, що включає / вимикає, тому на цьому я зупинятися не буду тут. Увага! Насамперед задайте пароль замість !!! CHANGEME !!!, інакше Ваш сервер можуть зламати.
- Зробіть себе і, якщо потрібно, своїх друзів адміністраторами новоствореного сервера (обов'язково, інакше ULX-админка не дасть Вам доступу). Щоб зробити себе адміном, потрібно дізнатися Ваш особистий SteamID і вибрати автоматичний або ручний спосіб:
- Автоматичний спосіб. Запустіть сервер (ULX і U-Lib повинні бути встановлені), запустіть клієнт Garry's Mod і зайдіть на свій сервер за допомогою команди connect ВАШ_ВНЕШНІЙ_IP: ПОРТ. Поверніть Garry's Mod і перейдіть в консоль сервера, введіть в консолі сервера ulx adduser ВАШ_НІК superadmin
де ВАШ_НІК - це Ваш ник в Steam (при наявності прогалин в ніку лапки обов'язкові; допускаються тільки латинські букви, цифри і знак підкреслення). ULX автоматично пропише цього користувача в адміни сервера.
- Ручний спосіб. У будь-якому текстовому редакторі відкрийте файл з: \ srcds \ orangebox \ garrysmod \ settings \ users.txt. У цей файл прописуються адміністратори сервера по SteamID. Знайдіть в цьому файлі розділ "superadmin" і після рядка // "garry" "STEAM_0: 1: 7099
впишіть свою у вигляді
"ВАШ_НІК" "STEAM_0: 1: XXXXXXXXX"де ВАШ_НІК - це нік адміна, який буде в списку виведення адмінів сервера (тут дозволено вводити тільки латинські букви і цифри без пробілів; лапки обов'язкові), а STEAM_0: 1: XXXXXXXXX - це Ваш SteamID (замініть на справжній, природно 😉), отриманий на 3 кроці.
- Автоматичний спосіб. Запустіть сервер (ULX і U-Lib повинні бути встановлені), запустіть клієнт Garry's Mod і зайдіть на свій сервер за допомогою команди connect ВАШ_ВНЕШНІЙ_IP: ПОРТ. Поверніть Garry's Mod і перейдіть в консоль сервера, введіть в консолі сервера ulx adduser ВАШ_НІК superadmin
- Обов'язково встановіть плагін Simple Prop Protection з SVN звідси: http://simplepropprotection.googlecode.com/svn/trunk/ (Офіційний репозиторій). Цей плагін не дозволить користувачам заважати іншим / пошкоджувати / видаляти їх споруди і т.д.
- Пробуйте запустити сервер і зайти на нього за допомогою клієнта Garry's Mod. Викличте админку командою ulx admin. Якщо все пройде успішно, сервер був успішно налаштований і готовий до прийому гравців.
Міні-FAQ по серверу Garry's Mod
Q: Як заборонити видавати гравцям зброю (давати тільки Physgun, гравію-ган, Тулган і скріншотган)?
A: Встановіть плагін U-Restrict (якщо Ви встановлювали за допомогою наших скриптів, то він вже встановлений і автоматично активований).
Q: Як змінити повідомлення, яке з'являється при заході на створений сервер Garry's Mod?
A: Відредагуйте файл з: \ srcds \ orangebox \ garrysmod \ data \ ulx \ motd.txt. Це звичайний HTML-файл.
Q: Куди пишуться скорочені логи адмінки?
A: Список адмінки ULX пишуться в с: \ srcds \ orangebox \ garrysmod \ data \ ulx_logs \ ДАТА.txt, де ДАТА - сьогоднішня дата в форматі ММ-ДД-ГГ.
Q: Мені потрібно видавати гравцям при підключенні до сервера певний зброю. Як це зробити?
A: Як вже писалося вище, потрібен плагін U-Restrict для адмінки (якщо Ви встановлювали набір плагінів за допомогою наших скриптів, він вже встановлений). Отже, щоб видати потрібну зброю, відкрийте файл з: \ srcds \ orangebox \ garrysmod \ data \ URestrict \ loadouts.txt в будь-якому текстовому редакторі і в розділі loadout після gmod_tool введіть повне ім'я потрібного зброї, наприклад weapon_smg. Ця зброя буде автоматично видано гравцеві після підключення до сервера, а також після його респауна.
Q: Як мені додати контент інших Source-ігор для використання на моєму сервері?
A: Щоб контент інших ігор став доступний в Garry's Mod всім граючим, його необхідно встановити через SteamCMD. Наведу приклад для контенту CSS і TF2:
- Викачуємо в окрему папку сервер Counter-Strike: Source або будь-який інший ігри, підтримуваної Garry's Mod, за допомогою такої команди (папку, в яку будемо завантажувати, повинна бути створена заздалегідь, інакше установка і скачування не почнеться). Команда для скачування сервера Counter-Strike: Source: C: \ SteamCMD \ steamcmd.exe + login anonymous + force_install_dir C: / cssserver + app_update 232330 validate + quit
Команда для скачування сервера Team Fortress 2:
C: \ SteamCMD \ steamcmd.exe + login anonymous + force_install_dir C: / tf2server + app_update 232250 validate + quit - Після повного завершення, заходимо в папку завантаженого сервера і переміщаємо папку «cstrike» (для Counter-Strike: Source) або «tf«, «dods«, «hl2mp» (для інших ігор) в папку C: \ srcds \ orangebox \ ( не "garrysmod»), де C: \ srcds \ - папка установки сервера Garry's Mod.
- Відкриваємо файл \ garrysmod \ cfg \ mount.cfg в текстовому редакторі і вносимо в нього правки. Приклад для TF2 і CSS: "mountcfg" { "cstrike" "C: \ srcds \ orangebox \ cstrike" "tf" "C: \ srcds \ orangebox \ tf"}
- Перезапускаємо сервер Garry's Mod. Контент встановлений і доступний всім граючим.
- Папку з скачаним сервером іншої гри, з якої ми взяли контент, можна видалити.
Q: Куди пишуться скорочені логи адмінки?
Як це зробити?
Q: Як мені додати контент інших Source-ігор для використання на моєму сервері?