Konfigurera en Garrys Mod-server

Konfigurera en Garrys Mod-server

Instruktionerna är designade för Ubuntu 14.04 32 bit, men bör fungera på alla versioner av Ubuntu. Denna handledning kommer att lära dig hur man gör en Garry's Mod-spelserver.

Logga in via terminalen som root.

För det första måste vi se till att brandväggen är säker för att minska risken för ett säkerhetsproblem. Förutsatt att den här servern kommer att vara dedikerad till Garry's Mod, är det säkert att blockera absolut alla inkommande portar (inklusive ICMP) förutom de som krävs för Garry's Mod. ICMP krävs inte för driften av servern, och att blockera den helt kommer inte att ha några negativa effekter på Garrys Mod, men det kommer att hjälpa till att minska attackvektorerna för en DDoS-attack.

För att blockera alla ej nödvändiga portar krävs följande kommandon:

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

Detta säger i princip till brandväggen att ignorera varje ICMP-paket den tar emot och inte vidta några åtgärder på det. Detta betyder också att om någon försöker pinga din server, kommer de inte att få något svar. Den andra raden säger åt brandväggen att blockera alla utgående ICMP-paket, detta är mycket mindre viktigt, men bara dubbelt säkerställer att det inte sker någon ICMP-kommunikation.

Därefter måste vi specifikt tillåta alla portar som krävs för Garry's Mod (27005 - 27015 inklusive) med dessa kommandon:

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

Detta säger att allt på portarna mellan 27005 och 27015 är tillåtet. Det första kommandot är för TCP och det andra är för UDP. Det andra kommandot (UDP) är det viktigaste här då nästan all kommunikation mellan servern och spelarna sker med UDP. Vissa personer har rapporterat problem med TCP blockerad, så av den anledningen bör vi tillåta det.

Nu vill vi tala om för brandväggen att tillåta anslutningar som vi har öppnat själva (eller programvaran på servern har). Det betyder att om vi kontaktar en server kommer vi att kunna se ett svar. Skriv detta kommando för att tillåta det:

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

Om du kommer att använda SSH för att styra din server (istället för att använda konsolen i ditt konto), krävs detta kommando för att tillåta SSH att fungera på standardporten. Om du inte använder SSH, kör inte detta:

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

Och slutligen, det sista kommandot för att ställa in brandväggen. Detta kommando kommer att blockera alla inkommande anslutningar förutom de vi har tillåtit:

iptables -A INPUT -j REJECT

Dessa inställningar tillämpas bara tills vi startar om vår server, vilket innebär att vi måste konfigurera om den manuellt varje gång datorn startas om. Detta är inte acceptabelt, så det finns ett paket att installera som sparar brandväggsreglerna till en fil och sedan laddar det varje gång servern startar. För att installera det här paketet, skriv följande:

apt-get install iptables-persistent

Följ instruktionerna på skärmen. När du tillfrågas om du vill spara de nuvarande brandväggsreglerna trycker du på ja.

Nu är vår brandvägg konfigurerad, och ingen mer konfiguration borde någonsin behövas när det gäller brandväggen.

Om du använder SSH finns det ett paket som du bör installera som automatiskt blockerar människors anslutning till servern om de fortsätter att försöka fel SSH-lösenord. Detta är mycket användbart för att förhindra att ditt SSH-lösenord blir brutalt forcerat”. För att installera paketet, använd följande kommando:

apt-get install fail2ban

Fail2ban är redan konfigurerat för att blockera människors åtkomst efter bara några misslyckade lösenordsförsök, så vi behöver inte konfigurera det. Nu är din server betydligt säkrare än den var när vi startade.

Därefter måste vi installera "skärm". Detta gör att du i princip kan köra kommandon kontinuerligt, även om du loggar ut från servern. Detta är viktigt för att hålla din Garry's Mod-server igång kontinuerligt under långa perioder, speciellt när du styr servern med SSH. För att installera "skärm", skriv följande:

apt-get install screen

När installationen är klar, kör det här kommandot:

screen

En ansvarsfriskrivning visas på skärmen, tryck bara på enter för att fortsätta. Att skriva screenin i konsolens startskärm och låter dig arbeta inuti en virtuell konsol, om du kopplar från SSH, eller loggar ut, kommer denna virtuella konsol att fortsätta att köras med ditt kommando i sidan av den (Garrys Mod-server körs som ett Linux-kommando, så det är här vi måste använda skärmen).

Nu, innan vi installerar Steam, Garry's Mod och de nödvändiga filerna, behöver vi ett konto dedikerat till det. Jag föreslår att du ringer det steam. För att skapa ett nytt konto, skriv följande:

adduser steam

Du måste använda ett annat lösenord än ditt root-lösenord för att hålla allt säkert. Du kommer mycket sällan att använda detta lösenord. Du kommer att ställas några frågor om kontot, såsom det fullständiga namnet, telefonnummer, etc. Lämna alla dessa tomma.

Nu vill vi vara inloggade på "steam"-kontot medan vi laddar ner alla nödvändiga filer. Detta betyder att "steam" får all äganderätt till dessa filer, och Linux-behörigheterna är korrekt inställda utan någon konfiguration. Det är mycket svårare att få rätt behörigheter om du installerar Steam som root och sedan försöker ändra dessa behörigheter. För att logga in som steam, skriv följande:

su steam

Vi behöver en katalog (mapp) för att spara Steam-mjukvaran. För att skapa katalogen, använd det här kommandot:

mkdir ~/Steam

Nu vill vi vara inne i den katalogen. För att göra den till din nuvarande arbetskatalog, skriv följande:

cd ~/Steam

Vi behöver nu ladda ner Steam-programvaran genom att skriva:

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

Nu måste vi dekomprimera och installera det, med följande:

tar -xvzf steamcmd_linux.tar.gz

Om du använder ett 64-bitars operativsystem måste du installera 32-bitars bibliotek för att köra Steam.

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

Kör följande kommando för att öppna Steam, säg till den att logga in som "anonym" (ett Steam-konto som vem som helst kan använda för att ladda ner gratis programvara från sina servrar), och säg till den att installera Garry's Mod-servern i gmodds-mappen (lagrad i Steam-kontots hemkatalog).

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

Vi kan förvänta oss att kommandot kommer att pågå länge, men vi får se hur det fortskrider. Det är möjligt för detta kommando att misslyckas, Steam-servrarna har ganska ofta mindre svårigheter som gör att en nedladdning misslyckas (eller inte startar alls). Om detta händer, starta det helt enkelt igen.

När detta kommando är klart kommer vi att ha en arbetskopia av Garry's Mod-servern, men det mesta av Garry's Mod-innehåll kräver att CounterStrike: Source (CS:S förkortas) installeras. För att installera CS:S, kör följande kommando:

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

Detta kommando kommer också att ta ett tag.

När Garrys Mod och CounterStrike har installerats måste de länkas samman med en konfigurationsfil. För att göra det måste vi redigera följande fil med detta kommando:

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

På raden som innehåller "cstrike" måste vi ta bort de två snedstreck (//) i början av raden, och sedan ersätta hela banans del av linjen (börjar med C:/). Den delen av linjen måste ersättas med:

/home/steam/cssds/cstrike

Hela raden ska nu se ut så här:

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

Det ska finnas ett tabbutrymme i början före ordet cstrike och raden ska inte innehålla ett dubbelt snedstreck (//) någonstans. När du är klar kan du spara den här filen med Ctrl+X och sedan Y. Detta talar om för Garry's Mod var man kan hitta CounterStrike så att den kan användas.

Nu har vi en grundläggande Garry's Mod-server installerad. För att köra det, se till att vi är i rätt katalog med det här kommandot:

cd /home/steam/gmodds/

Kör sedan följande kommando:

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

När den har startat bör du kunna gå med genom att skriva följande i Garry's Mod Console (INTE serverterminalen):

connect IP_ADDRESS

Ersätt IP_ADDRESSmed serverns IP-adress. Om du inte känner till din IP-adress, skriver du följande i serverterminalen för att berätta vad det är:

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

Om du vill ändra antalet tillåtna spelare på din server, stoppa servern genom att göra Ctrl+C och gör startkommandot igen, men ersätt maxplayers 16med maxplayers x(ändra xtill antalet spelare du vill ha). För att ändra standardkartan (den första kartan som spelas), ersätt cs_officemed namnet på kartan du vill ha. Och slutligen, för att ändra spelläge, ersätt terrortownmed det spelläge du vill ha. Garry's Mod kommer bara med terrortown(Short for Trouble in Terrorist Town) och Sandbox som standard.

För att ytterligare konfigurera servern finns det en konfigurationsfil som kan redigeras. Varje rad i den här filen kallas en konfigurationsvariabel (cVar). Kör detta kommando för att redigera filen:

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

Följande värden kan ändras, jag ska snart förklara vad var och en gör:

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

Genom att ändra värdnamnsvärdet kan du ändra namnet på din server. Den kommer att kallas "Garry's Mod" om du inte ändrar den. Till exempel kommer detta att kalla din server "Min coola server":

hostname "My cool server"

Du kan lägga till så många variabler till filen du vill, varje ny variabel behöver en ny rad.

Den sv_downloadurlrörliga låter dig välja var innehåll anpassade server hämtas från. Anpassat innehåll inkluderar Garrys modkartor, ljud, tillägg och texturer. Som standard tillåter Garry's Mod endast att data laddas ner från din server i en extremt långsam takt, vilket är anledningen till att vi måste tillhandahålla en URL där data kan laddas ner i full hastighet. URL:en du anger måste vara en klon av din "garrysmod"-mapp så att alla filer kommer att vara tillgängliga.

sv_allowuploadcan har två val, 0 eller 1, detta anger om du vill tillåta personer att ladda upp innehåll till servern. Detta används endast för sprayer (grafik som spelarna kan spraya på väggar) och kan orsaka ett säkerhetsproblem. Sprayer efterfrågas ofta, så att använda "1" kommer att göra spelarna nöjda, men "0" kommer att hålla din server säkrare.

sv passwordlåter dig välja ett lösenord för din server. När någon går med kommer de att bli tillfrågade om detta lösenord och de kan inte gå med om de inte har det.

sv_timeoutär hur lång tid i sekunder du vill att servern ska vänta innan den sparkar någon som har tappat sin anslutning. Servern väntar automatiskt på att de ska få tillbaka sin anslutning, men medan detta händer kommer spelaren att tyckas stå still. Det är bäst att ha detta på 60 sekunder eller mindre. När du har ändrat dessa inställningar krävs en omstart av servern.

Tillägg kan också installeras för att ge ytterligare funktioner till spelet. Vissa tillägg måste installeras på ett specifikt sätt, så du bör alltid läsa instruktionerna på deras sida, men så här skulle du ladda ner och installera de flesta tillägg:

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

Ersätt http://example.com/addon.zipmed URL:en för var tillägget finns. Du måste också ändra addon.zipnamnet på tilläggets zip-fil. Nu har tillägget laddats ner och packats upp, du kan ta bort zip-filen för att spara utrymme, så här:

rm addon.zip

Återigen, ersätt addon.zipmed det faktiska namnet på zip-filen.

Om servern körs för närvarande måste du starta om den med Ctrl+C och ge startkommandot igen. Du kan trycka på uppåtpilen på tangentbordet för att automatiskt infoga det senaste kommandot du körde.

Om du förlorar din SSH-anslutning, när du återansluter måste du utfärda screen -r command, som låter dig fortsätta från där du senast var (spelkonsolen).


Hur man ställer in en Tekkit Classic-server på Ubuntu 16.10

Hur man ställer in en Tekkit Classic-server på Ubuntu 16.10

Använder du ett annat system? Vad är Tekkit Classic? Tekkit Classic är ett modpack för spelet som alla känner och älskar; Minecraft. Den innehåller några av ver

Konfigurera 7 Days to Die Server på Ubuntu 14

Konfigurera 7 Days to Die Server på Ubuntu 14

I den här guiden lär du dig hur du ställer in din egen 7 Days to Die-server (7D2D) på Ubuntu. Observera att detta spel fortfarande är tidig tillgång och att th

Konfigurera en Half Life 2-server på CentOS 6

Konfigurera en Half Life 2-server på CentOS 6

Denna handledning kommer att täcka processen att installera en Half Life 2-spelserver på CentOS 6 System. Steg 1: Installera förutsättningarna För att ställa in ou

Counter-Strike Global Offensive Server Launcher på Ubuntu

Counter-Strike Global Offensive Server Launcher på Ubuntu

De som har erfarenhet av att sätta upp dedikerad CS:GO (Counter-Strike: Global Offensive) vet att processen att använda kommandoradsgränssnittet för att hantera

Ställa in Counter Strike: Source på Debian

Ställa in Counter Strike: Source på Debian

I den här guiden kommer vi att sätta upp en Counter Strike: Source-spelserver på Debian 7. Dessa kommandon testades på Debian 7 men de borde också fungera o

Hur man installerar Unturned 2.2.5 på Debian 8

Hur man installerar Unturned 2.2.5 på Debian 8

I den här guiden kommer du att lära dig hur du ställer in en Unturned 2.2.5-server på en Vultr VPS som kör Debian 8. Obs: Detta är en redigerad version av Unturned som inte

Hur man installerar Cuberite på en CentOS 6- eller 7-server

Hur man installerar Cuberite på en CentOS 6- eller 7-server

Introduktion Vad är Cuberite? Cuberite är en skalbar Minecraft-serverimplementering med öppen källkod som är skriven i C++. Den har en lättanvänd plugi

Installera Teamspeak på CentOS 7

Installera Teamspeak på CentOS 7

Teamspeak är en VOIP-server som kan användas för team/flera personer att kommunicera. Det är relativt lätt och säkert, eftersom uppdateringar släpps

Hur man installerar SteamCMD på din VPS

Hur man installerar SteamCMD på din VPS

I den här handledningen kommer vi att installera SteamCMD. SteamCMD kan användas för att ladda ner och installera många Steam-spelservrar, såsom Counter-Strike: Global Offensiv

Starta en Teamspeak 3-server på CentOS 6.4

Starta en Teamspeak 3-server på CentOS 6.4

Kör följande kommandon för att installera en Teamspeak 3-server. # Secure Iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -

Hur man installerar Left 4 Dead Server på CentOS 7

Hur man installerar Left 4 Dead Server på CentOS 7

I den här guiden kommer jag att förklara hur man installerar och konfigurerar en L4D-server på CentOS 7. Installera Left 4 Dead Innan vi börjar måste vi se till att

Hur man installerar en Minecraft-server på Ubuntu 14.04

Hur man installerar en Minecraft-server på Ubuntu 14.04

Använder du ett annat system? I den här artikeln kommer vi att installera en Minecraft-server på en Ubuntu. Se till att du är inloggad under en användare som inte är

Hur man installerar SA-MP San Andreas Multiplayer på CentOS 7

Hur man installerar SA-MP San Andreas Multiplayer på CentOS 7

I den här handledningen kommer du att lära dig hur du ställer in en SA-MP-server (San Andreas Multiplayer) på CentOS 7.

Konfigurera TeeWorlds server

Konfigurera TeeWorlds server

TeeWorlds är ett gratis och öppen källkod online multiplayer shooter-spel. I den här handledningen kommer jag att förklara hur man skapar en TeeWorlds-server. Dessa steg var

Hur man installerar en Tekkit Classic Server på CentOS 6/7

Hur man installerar en Tekkit Classic Server på CentOS 6/7

Använder du ett annat system? I den här handledningen kan du väl skapa en Tekkit Classic-server. Tekkit är ett annat populärt modpack gjord för Minecraft. På grund av mängden

Hur man installerar Glowstone (Minecraft) på en CentOS 7-server

Hur man installerar Glowstone (Minecraft) på en CentOS 7-server

Använder du ett annat system? Inledning Glowstone är utan tvekan den mest optimerade servern för Minecraft. Programvaran har låg minnesanvändning och användning

Hur man installerar Unturned på Linux

Hur man installerar Unturned på Linux

Använder du ett annat system? Inledning I den här guiden kommer du att lära dig hur du ställer in och installerar en Unturned-server på Linux. Unturned är en populär överlevnad

Konfigurera en JC2:MP-spelserver på Debian

Konfigurera en JC2:MP-spelserver på Debian

I den här guiden kommer vi att ställa in en Just Cause 2: Multiplayer Linux-server. Dessa kommandon testades på Debian 7 x64, men de bör också fungera på th

Installera en Minecraft-server på Fedora 26

Installera en Minecraft-server på Fedora 26

Använder du ett annat system? I den här handledningen kommer jag att guida dig genom att ställa in en Minecraft-server på en högpresterande SSD VPS på Vultr. Du kommer att lära dig ho

Terraria Server med TShock på Linux

Terraria Server med TShock på Linux

Terraria är ett MMORPG baserat på gruvdrift, byggnad och strid. Vissa människor säger att det är en 2D-version av Minecraft, men det skulle inte göra Terraria rättvisa

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer