Настройка на Garrys Mod сървър

Настройка на Garrys Mod сървър

Инструкциите са предназначени за Ubuntu 14.04 32 bit, но трябва да работят на всички версии на Ubuntu. Този урок ще ви научи как да направите сървър за игри Garry's Mod.

Влезте през терминала като root.

Първо, трябва да се уверим, че защитната стена е защитена, за да намалим шансовете за проблем със сигурността. Ако приемем, че този сървър ще бъде посветен на Garry's Mod, е безопасно да блокирате абсолютно всички входящи портове (включително ICMP) освен тези, необходими за Garry's Mod. ICMP не е необходим за работата на сървъра и пълното му блокиране няма да има отрицателни ефекти върху Garry's Mod, но ще помогне за намаляване на векторите на атака на DDoS атака.

За да блокирате всички незадължителни портове, са необходими следните команди:

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP

Това основно казва на защитната стена да игнорира всеки ICMP пакет, който получава, и да не предприема абсолютно никакви действия по него. Това също означава, че ако някой се опита да пингува вашия сървър, той няма да получи отговор. Вторият ред казва на защитната стена да блокира всички изходящи ICMP пакети, това е много по-малко важно, но само двойно гарантира, че няма да има ICMP комуникация.

След това трябва специално да разрешим всички портове, необходими за Garry's Mod (27005 - 27015 включително) с тези команди:

iptables -I INPUT -p tcp --dport 27005:27015 -j ACCEPT
iptables -I INPUT -p udp --dport 27005:27015 -j ACCEPT

Това казва, че всичко на портовете между 27005 и 27015 е разрешено. Първата команда е за TCP, а втората е за UDP. Втората команда (UDP) е най-важна тук, тъй като почти цялата комуникация между сървъра и играчите се извършва с UDP. Някои хора съобщават за проблеми с блокиран TCP, така че поради тази причина трябва да го разрешим.

Сега искаме да кажем на защитната стена да разрешава връзки, които сами сме отворили (или софтуерът на сървъра има). Това означава, че ако се свържем със сървър, ще можем да видим отговор. Въведете тази команда, за да я разрешите:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Ако ще използвате SSH за управление на вашия сървър (вместо да използвате конзолата във вашия акаунт), тази команда е необходима, за да позволите на SSH да работи на стандартния порт. Ако не използвате SSH, не стартирайте това:

iptables -I INPUT -p tcp --dport 22 -j ACCEPT

И накрая, последната команда за настройка на защитната стена. Тази команда ще блокира всички входящи връзки освен тези, които сме разрешили:

iptables -A INPUT -j REJECT

Тези настройки се прилагат само докато не рестартираме нашия сървър, което означава, че ще трябва ръчно да го преконфигурираме всеки път, когато компютърът се рестартира. Това не е приемливо, така че има пакет за инсталиране, който записва правилата на защитната стена във файл и след това го зарежда всеки път, когато сървърът се стартира. За да инсталирате този пакет, въведете следното:

apt-get install iptables-persistent

Следвайте инструкциите на екрана. Когато бъдете попитани дали искате да запазите текущите правила на защитната стена, натиснете да.

Сега нашата защитна стена е настроена и не трябва да се изисква повече конфигурация по отношение на защитната стена.

Ако използвате SSH, има пакет, който трябва да инсталирате, който автоматично ще блокира връзката на хората със сървъра, ако продължат да опитват грешна SSH парола. Това е много полезно, за да предотвратите грубо налагане на вашата SSH парола. За да инсталирате пакета, използвайте следната команда:

apt-get install fail2ban

Fail2ban вече е конфигуриран да блокира достъпа на хората само след няколко неуспешни опита за парола, така че не е необходимо да го конфигурираме. Сега вашият сървър е значително по-сигурен, отколкото беше, когато стартирахме.

След това трябва да инсталираме "екран". Това основно ви позволява да изпълнявате команди непрекъснато, дори ако излезете от сървъра. Това е жизненоважно, за да поддържате вашия Garry's Mod сървър да работи непрекъснато за дълги периоди от време, особено когато контролирате сървъра с SSH. За да инсталирате "screen", въведете следното:

apt-get install screen

След като инсталацията приключи, изпълнете тази команда:

screen

На екрана ще се покаже отказ от отговорност, просто натиснете Enter, за да продължите. Въвеждането screenв началния екран на конзолата ви позволява да работите във виртуална конзола, ако прекъснете връзката от SSH или излезете, тази виртуална конзола ще продължи да работи с вашата команда отстрани (сървърът на Garry's Mod работи като Linux команда, така че тук трябва да използваме екрана).

Сега, преди да инсталираме Steam, Garry's Mod и необходимите файлове, имаме нужда от акаунт, посветен за него. Предлагам да го извикате steam. За да създадете нов акаунт, въведете следното:

adduser steam

Трябва да използвате парола, различна от вашата root парола, за да запазите всичко сигурно. Много рядко ще използвате тази парола. Ще ви бъдат зададени някои въпроси относно акаунта, като пълното му име, телефонен номер и т.н. Оставете всички тези празни.

Сега искаме да влезем в акаунта на "steam", докато изтегляме всички необходими файлове. Това означава, че "steam" получава цялата собственост върху тези файлове и разрешенията за Linux са зададени правилно без никаква конфигурация. Много по-трудно е да получите правилните разрешения, ако инсталирате Steam като root, след което се опитате да промените тези разрешения. За да влезете като steam, въведете следното:

su steam

Нуждаем се от директория (папка), за да запазим софтуера Steam. За да създадете директорията, използвайте тази команда:

mkdir ~/Steam

Сега искаме да сме вътре в тази директория. За да го направите вашата текуща работна директория, въведете следното:

cd ~/Steam

Сега трябва да изтеглим софтуера Steam, като напишем:

wget http://media.steampowered.com/client/steamcmd_linux.tar.gz

Сега трябва да го декомпресираме и инсталираме със следното:

tar -xvzf steamcmd_linux.tar.gz

Ако използвате 64-битова ОС, ще трябва да инсталирате 32-битови библиотеки, за да стартирате Steam.

apt-get install lib32stdc++6
apt-get install lib32gcc1

Изпълнете следната команда, за да отворите Steam, кажете му да влезе като "анонимен" (акаунт в Steam, който всеки може да използва за изтегляне на безплатен софтуер от своите сървъри) и му кажете да инсталира сървъра на Garry's Mod в папката gmodds (съхранена в началната директория на Steam акаунта).

./steamcmd.sh +login anonymous +force_install_dir ../gmodds +app_update 4020 validate +quit

Можем да очакваме тази команда да продължи дълго време, но можем да наблюдаваме напредъка й. Възможно е тази команда да се провали, често сървърите на Steam имат малки затруднения, които причиняват неуспешно изтегляне (или изобщо не стартират). Ако това се случи, просто го стартирайте отново.

След като тази команда приключи, ще имаме работно копие на Garry's Mod сървъра, но повечето съдържание на Garry's Mod изисква инсталиране на CounterStrike: Source (CS:S за кратко). За да инсталирате CS:S, изпълнете следната команда:

./steamcmd.sh +login anonymous +force_install_dir ../cssds +app_update 232330 validate +quit

Тази команда също ще отнеме известно време.

След като Garry's Mod и CounterStrike са инсталирани, те трябва да бъдат свързани заедно с помощта на конфигурационен файл. За да направим това, трябва да редактираме следния файл с тази команда:

nano /home/steam/gmodds/garrysmod/cfg/mount.cfg

На реда, съдържащ "cstrike", трябва да премахнем двете наклонени черти (//) в началото на реда, след което да заменим цялата част от пътя на реда (започва с C:/). Тази част от реда трябва да бъде заменена със:

/home/steam/cssds/cstrike

Сега целият ред трябва да изглежда така:

"cstrike"       "/home/steam/cssds/cstrike"

В началото преди думата cstrike трябва да има табулатор и редът не трябва да съдържа никъде двойна наклонена черта (//). След като сте готови, можете да запазите този файл с Ctrl+X и след това Y. Това казва на Garry's Mod къде да намери CounterStrike, за да може да се използва.

Сега имаме инсталиран основен Garry's Mod сървър. За да го стартирате, уверете се, че сме в правилната директория с тази команда:

cd /home/steam/gmodds/

След това изпълнете следната команда:

./srcds_run -game garrysmod +gamemode terrortown +maxplayers 16 +map cs_office

След като стартира, трябва да можете да се присъедините, като напишете следното в конзолата на Garry's Mod (НЕ сървърния терминал):

connect IP_ADDRESS

Заменете IP_ADDRESSс IP адреса на сървъра. Ако не знаете своя IP адрес, напишете следното в сървърния терминал ще ви каже какво представлява:

url -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

Ако искате да промените броя на разрешените играчи на вашия сървър, спрете сървъра, като направите Ctrl+C и направете отново командата за стартиране, но заменете maxplayers 16с maxplayers x(променете xна броя играчи, който искате). За да промените картата по подразбиране (първата карта, която се играе), заменете cs_officeс името на картата, която искате. И накрая, за да промените режима на игра, заменете го terrortownс желания от вас режим на игра. Garry's Mod се предлага само с terrortown(Съкращение от Trouble in Terrorist Town) и Sandbox по подразбиране.

За по-нататъшно конфигуриране на сървъра има конфигурационен файл, който може да се редактира. Всеки ред в този файл се нарича конфигурационна променлива (cVar). Изпълнете тази команда, за да редактирате файла:

nano /home/steam/gmodds/garrysmod/cfg/server.cfg

Следните стойности могат да бъдат променени, скоро ще обясня какво прави всяка от тях:

hostname "server name"
sv_downloadurl "http://example.com/files/"
sv_allowupload 1
sv_password "secret password"
sv_timeout 60

Промяната на стойността на името на хоста ви позволява да промените името на вашия сървър. Той ще се казва "Garry's Mod", освен ако не го промените. Например, това ще нарече вашия сървър "Моят готин сървър":

hostname "My cool server"

Можете да добавите толкова променливи към файла, колкото искате, всяка нова променлива се нуждае от нов ред.

В sv_downloadurlпроменливата ви позволява да изберете къде съдържание по поръчка сървър е изтеглен от. Персонализираното съдържание включва модните карти, звуци, добавки и текстури на Гари. По подразбиране Garry's Mod ще позволи изтеглянето на данни от вашия сървър само с изключително бавна скорост, поради което трябва да предоставим URL, откъдето данните могат да се изтеглят с пълна скорост. URL адресът, който предоставяте, трябва да е клонинг на вашата папка "garrysmod", така че всички файлове да са налични.

sv_allowuploadcan има два избора, 0 или 1, това указва дали искате да позволите на хората да качват съдържание на сървъра. Това се използва само за спрейове (графики, които играчите могат да пръскат върху стени) и може да причини проблем със сигурността. Често се изискват спрейове, така че използването на "1" ще направи играчите щастливи, но "0" ще запази вашия сървър по-сигурен.

sv passwordви позволява да изберете парола за вашия сървър. Всеки път, когато някой се присъедини, той ще бъде помолен за тази парола и не може да се присъедини, ако я няма.

sv_timeoutе времето в секунди, което искате сървърът да изчака, преди да изрита някой, който е загубил връзката си. Сървърът автоматично ще изчака да възстановят връзката си, но докато това се случва, играчът ще изглежда неподвижно. Най-добре е това да е на 60 или по-малко секунди. След като промените тези настройки, е необходимо рестартиране на сървъра.

Добавките също могат да бъдат инсталирани, за да дадат допълнителни функции на играта. Някои добавки трябва да бъдат инсталирани по специфичен начин, така че винаги трябва да четете инструкциите на техния сайт, но ето как ще изтеглите и инсталирате по-голямата част от добавките:

cd /home/steam/gmodds/garrysmod/addons/
wget http://example.com/addon.zip
unzip addon.zip

Заменете http://example.com/addon.zipс URL адреса на мястото, където се намира добавката. Ще трябва също да промените addon.zipимето на zip файла на добавката. Сега добавката е изтеглена и разархивирана, можете да изтриете zip файла, за да спестите място, както следва:

rm addon.zip

Отново заменете addon.zipс действителното име на zip файла.

Ако сървърът в момента работи, трябва да го рестартирате с Ctrl+C и да издадете отново командата за стартиране. Можете да натиснете стрелката нагоре на клавиатурата си, за да вмъкнете автоматично последната команда, която сте изпълнили.

Ако загубите вашата SSH връзка, когато се свържете отново, ще трябва да издадете screen -r command, което ви позволява да продължите от мястото, където сте били последно (конзолата за игра).


Как да настроите Tekkit Classic Server на Ubuntu 16.10

Как да настроите Tekkit Classic Server на Ubuntu 16.10

Използване на различна система? Какво е Tekkit Classic? Tekkit Classic е модпак за играта, която всички познават и обичат; Minecraft. Съдържа част от вер

Настройте 7 Days to Die сървър на Ubuntu 14

Настройте 7 Days to Die сървър на Ubuntu 14

В това ръководство ще научите как да настроите свой собствен сървър 7 Days to Die (7D2D) в Ubuntu. Моля, имайте предвид, че тази игра все още е с ранен достъп и че th

Counter-Strike Global Offensive Server Launcher на Ubuntu

Counter-Strike Global Offensive Server Launcher на Ubuntu

Тези, които имат опит в настройването на специален CS:GO (Counter-Strike: Global Offensive), знаят, че процесът на използване на интерфейса на командния ред за управление

Как да инсталирате SteamCMD на вашия VPS

Как да инсталирате SteamCMD на вашия VPS

В този урок ще инсталираме SteamCMD. SteamCMD може да се използва за изтегляне и инсталиране на много сървъри за игри на Steam, като Counter-Strike: Global Offensiv

Стартиране на сървър на Teamspeak 3 на CentOS 6.4

Стартиране на сървър на Teamspeak 3 на CentOS 6.4

Изпълнете следните команди, за да инсталирате сървър на Teamspeak 3. # Secure Iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -

Как да инсталирате сървър на Minecraft на Ubuntu 14.04

Как да инсталирате сървър на Minecraft на Ubuntu 14.04

Използване на различна система? В тази статия ще инсталираме сървър на Minecraft на Ubuntu. Уверете се, че сте влезли под потребител, който isn

Стартирайте свой собствен сървър Arma 3 на Ubuntu 14

Стартирайте свой собствен сървър Arma 3 на Ubuntu 14

Общ преглед Това ръководство ще обхване инсталирането и работата на вашия сървър Arma 3 с помощта на SteamCMD и екрана. За допълнителна информация относно th

Как да инсталирате Unturned на Linux

Как да инсталирате Unturned на Linux

Използване на различна система? Въведение В това ръководство ще научите как да настроите и инсталирате Unturned сървър на Linux. Unturned е популярно оцеляване

Terraria Server с TShock на Linux

Terraria Server с TShock на Linux

Terraria е MMORPG, базирана на копаене, изграждане и битки. Някои хора казват, че това е 2D версия на Minecraft, но това няма да се отдаде на Terraria

Настройте PaperSpigot на Ubuntu

Настройте PaperSpigot на Ubuntu

PaperSpigot е високопроизводителен форк на Spigot, който има за цел да коригира несъответствията в играта и механиката. Хартията съдържа множество уникални характеристики и промени

Как да инсталирате сървър на Minecraft на Ubuntu 18.04

Как да инсталирате сървър на Minecraft на Ubuntu 18.04

Използване на различна система? Въведение Minecraft сървър ще ви позволи да играете онлайн с други хора. В тази статия ще инсталираме Minecraf

Как да настроите сървър на Minecraft на Ubuntu 18.04

Как да настроите сървър на Minecraft на Ubuntu 18.04

Minecraft все още е една от най-популярните игри в света. Ако играете играта, вероятно играете на сървъри през цялото време. Това ръководство има за цел да ви научи

Как да инсталирате Garrys Mod на Windows Server

Как да инсталирате Garrys Mod на Windows Server

Въведение Тази статия ще обясни как да изтеглите и инсталирате Garrys Mod сървър на Windows Server 2012. Това ръководство е направено така, че да бъде задълбочено и малко

Настройка на Garrys Mod сървър

Настройка на Garrys Mod сървър

Инструкциите са предназначени за Ubuntu 14.04 32 bit, но трябва да работят на всички версии на Ubuntu. Този урок ще ви научи как да направите игра на Garrys Mod

Създаване на сървър на Teamspeak 3 на Ubuntu 14 64-битов

Създаване на сървър на Teamspeak 3 на Ubuntu 14 64-битов

Преглед Независимо дали работите върху голям проект за сътрудничество с вашия екип за разработка или убивате шеф в най-новата ролева игра, вие

Как да инсталирате Counter-Strike 1.6 сървър на Linux

Как да инсталирате Counter-Strike 1.6 сървър на Linux

Това ръководство ще ви покаже как да настроите сървър на Counter-Strike: 1.6 на Linux. Стъпките тук ще работят за повечето дистрибуции на Linux, които поддържат SteamCMD. Първо

Музикален бот, използващ Teamspeak на Windows

Музикален бот, използващ Teamspeak на Windows

Този урок ще ви научи как да създадете музикален бот за Teamspeak с помощта на Vultr VPS. Някои хора обичат да слушат хубава музика, когато играят игри

Инсталиране на McMyAdmin на Ubuntu 14.10

Инсталиране на McMyAdmin на Ubuntu 14.10

McMyAdmin е контролен панел на сървъра на Minecraft, използван за администриране на вашия сървър. Въпреки че McMyAdmin е безплатен, има множество издания, някои от които са pai

Настройте сървър за игри Insurgency на Ubuntu 15.04

Настройте сървър за игри Insurgency на Ubuntu 15.04

В този урок ще настроим сървър за игри Insurgency на Ubuntu 15.04. Преди да можем да настроим сървъра на Insurgency, трябва да инсталираме няколко други

Инсталиране на Reflex сървър на Windows

Инсталиране на Reflex сървър на Windows

Въведение Reflex е развиващ се конкурентен Arena FPS от Turbo Pixel Studios. Този урок ще ви покаже как да настроите свой собствен Reflex сървър

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече