Opsætning af en Garrys Mod-server

Opsætning af en Garrys Mod-server

Instruktionerne er designet til Ubuntu 14.04 32 bit, men burde virke på alle versioner af Ubuntu. Denne tutorial vil lære dig, hvordan du laver en Garry's Mod-spilserver.

Log ind via terminalen som root.

For det første skal vi sørge for, at firewallen er sikker for at reducere chancerne for et sikkerhedsproblem. Forudsat at denne server vil være dedikeret til Garry's Mod, er det sikkert at blokere absolut alle indgående porte (inklusive ICMP) udover dem, der kræves til Garry's Mod. ICMP er ikke påkrævet for driften af ​​serveren, og fuldstændig blokering af den vil ikke have nogen negative effekter på Garry's Mod, men det vil hjælpe med at reducere angrebsvektorerne for et DDoS-angreb.

For at blokere alle ikke-nødvendige porte kræves følgende kommandoer:

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

Dette fortæller grundlæggende, at firewallen skal ignorere hver ICMP-pakke, den modtager, og absolut ikke foretage sig noget på den. Dette betyder også, at hvis nogen forsøger at pinge din server, vil de ikke få noget svar. Den anden linje fortæller firewallen at blokere alle udgående ICMP-pakker, dette er meget mindre vigtigt, men det dobbelte sikrer, at der ikke sker nogen ICMP-kommunikation.

Dernæst skal vi specifikt tillade alle de porte, der kræves til Garry's Mod (27005 - 27015 inklusive) med disse kommandoer:

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

Dette siger, at alt på portene mellem 27005 og 27015 er tilladt. Den første kommando er til TCP, og den anden er til UDP. Den anden kommando (UDP) er den vigtigste her, da næsten al kommunikation mellem serveren og spillerne foregår med UDP. Nogle mennesker har rapporteret problemer med TCP blokeret, så derfor bør vi tillade det.

Nu vil vi fortælle firewallen om at tillade forbindelser, som vi selv har åbnet (eller softwaren på serveren har). Det betyder, at hvis vi kontakter en server, vil vi kunne se et svar. Skriv denne kommando for at tillade det:

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

Hvis du vil bruge SSH til at styre din server (i stedet for at bruge konsollen på din konto), er denne kommando påkrævet for at tillade SSH at arbejde på standardporten. Hvis du ikke bruger SSH, skal du ikke køre dette:

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

Og endelig den sidste kommando til opsætning af firewallen. Denne kommando vil blokere alle indgående forbindelser udover dem, vi har tilladt:

iptables -A INPUT -j REJECT

Disse indstillinger anvendes kun, indtil vi genstarter vores server, hvilket betyder, at vi manuelt skal omkonfigurere den, hver gang computeren genstarter. Dette er ikke acceptabelt, så der er en pakke, der skal installeres, som gemmer firewall-reglerne til en fil og derefter indlæser den, hver gang serveren starter op. For at installere denne pakke skal du skrive følgende:

apt-get install iptables-persistent

Følg instruktionerne på skærmen. Når du bliver spurgt, om du vil gemme de nuværende firewallregler, skal du trykke på ja.

Nu er vores firewall sat op, og der skulle aldrig kræves mere konfiguration i forhold til firewallen.

Hvis du bruger SSH, er der en pakke, du bør installere, som automatisk blokerer folks forbindelse til serveren, hvis de bliver ved med at prøve den forkerte SSH-adgangskode. Dette er meget nyttigt for at forhindre, at din SSH-adgangskode bliver brutalt tvunget”. For at installere pakken skal du bruge følgende kommando:

apt-get install fail2ban

Fail2ban er allerede konfigureret til at blokere folks adgang efter blot et par mislykkede adgangskodeforsøg, så vi behøver ikke at konfigurere det. Nu er din server væsentligt mere sikker, end den var, da vi startede.

Dernæst skal vi installere "skærm". Dette giver dig grundlæggende mulighed for at køre kommandoer kontinuerligt, selvom du logger ud fra serveren. Dette er vigtigt for at holde din Garry's Mod-server kørende kontinuerligt i lange perioder, især når du styrer serveren med SSH. For at installere "skærm", skriv følgende:

apt-get install screen

Når installationen er fuldført, skal du køre denne kommando:

screen

En ansvarsfraskrivelse vises på skærmen, tryk bare på enter for at fortsætte. Indtastning screeni konsolstartskærmen og giver dig mulighed for at arbejde inde i en virtuel konsol, hvis du afbryder forbindelsen til SSH eller logger ud, vil denne virtuelle konsol fortsætte med at køre med din kommando i siden af ​​den (Garrys Mod-server kører som en Linux-kommando, så det er her, vi skal bruge skærmen).

Nu, før vi installerer Steam, Garry's Mod og de nødvendige filer, har vi brug for en konto dedikeret til det. Jeg foreslår, at du ringer til det steam. For at oprette en ny konto skal du skrive følgende:

adduser steam

Du skal bruge en anden adgangskode end din root-adgangskode for at holde alt sikkert. Du vil meget sjældent bruge denne adgangskode. Du vil blive stillet nogle spørgsmål om kontoen, såsom dens fulde navn, telefonnummer osv. Lad alle disse stå tomme.

Nu vil vi være logget ind på "steam"-kontoen, mens vi downloader alle de nødvendige filer. Det betyder, at "steam" får alt ejerskab til disse filer, og Linux-tilladelserne er indstillet korrekt uden nogen konfiguration. Det er meget sværere at få tilladelserne rigtige, hvis du installerer Steam som root, og derefter forsøger at ændre disse tilladelser. For at logge på som steam skal du skrive følgende:

su steam

Vi har brug for en mappe (mappe) for at gemme Steam-softwaren. For at lave mappen, brug denne kommando:

mkdir ~/Steam

Nu vil vi gerne være inde i den mappe. For at gøre det til din nuværende arbejdsmappe, skriv følgende:

cd ~/Steam

Vi skal nu downloade Steam-softwaren ved at skrive:

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

Nu skal vi dekomprimere og installere det med følgende:

tar -xvzf steamcmd_linux.tar.gz

Hvis du bruger et 64-bit OS, skal du installere 32-bit biblioteker for at køre Steam.

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

Kør følgende kommando for at åbne Steam, bed den om at logge ind som "anonym" (en Steam-konto, som alle kan bruge til at downloade gratis software fra deres servere), og bed den installere Garry's Mod-serveren i gmodds-mappen (gemt i Steam-kontoens hjemmemappe).

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

Vi kan forvente, at den kommando vil vare længe, ​​men vi kommer til at se udviklingen af ​​den. Det er muligt for denne kommando at mislykkes, Steam-serverne har ganske ofte mindre vanskeligheder, som får en download til at mislykkes (eller slet ikke starter). Hvis dette sker, skal du blot starte det igen.

Når denne kommando er fuldført, vil vi have en arbejdskopi af Garry's Mod-serveren, men det meste af Garry's Mod-indhold kræver, at CounterStrike: Source (CS:S forkortet) er installeret. For at installere CS:S skal du køre følgende kommando:

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

Denne kommando vil også tage et stykke tid.

Når Garrys Mod og CounterStrike er installeret, skal de linkes sammen ved hjælp af en konfigurationsfil. For at gøre det skal vi redigere følgende fil med denne kommando:

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

På linjen, der indeholder "cstrike", skal vi fjerne de to skråstreger (//) i starten af ​​linjen, og derefter erstatte hele stidelen af ​​linjen (starter med C:/). Den del af ledningen skal udskiftes med:

/home/steam/cssds/cstrike

Hele linjen skulle nu se sådan ud:

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

Der skal være et tabulatorrum i starten før ordet cstrike, og linjen bør ikke indeholde en dobbelt skråstreg (//) nogen steder. Når du er færdig, kan du gemme denne fil med Ctrl+X og derefter Y. Dette fortæller Garry's Mod, hvor man kan finde CounterStrike, så den kan bruges.

Nu har vi en grundlæggende Garry's Mod-server installeret. For at køre det, sørg for, at vi er i den rigtige mappe med denne kommando:

cd /home/steam/gmodds/

Kør derefter følgende kommando:

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

Når det er startet op, bør du være i stand til at deltage ved at skrive følgende i Garry's Mod Console (IKKE serverterminalen):

connect IP_ADDRESS

Erstat IP_ADDRESSmed serverens IP-adresse. Hvis du ikke kender din IP-adresse, kan du skrive følgende i serverterminalen for at fortælle dig, hvad det er:

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

Hvis du vil ændre antallet af spillere, der er tilladt på din server, skal du stoppe serveren ved at trykke Ctrl+C og udføre startkommandoen igen, men erstatte maxplayers 16med maxplayers x(skift xtil det antal spillere, du ønsker). For at ændre standardkortet (det første kort, der afspilles), skal du erstatte det cs_officemed navnet på det ønskede kort. Og til sidst, for at ændre gamemode, skal du erstatte terrortownmed den gamemode du ønsker. Garry's Mod kommer kun med terrortown(Short for Trouble in Terrorist Town) og Sandbox som standard.

For yderligere at konfigurere serveren er der en konfigurationsfil, som kan redigeres. Hver linje i denne fil kaldes en konfigurationsvariabel (cVar). Kør denne kommando for at redigere filen:

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

Følgende værdier kan ændres, jeg vil snart forklare, hvad hver enkelt gør:

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

Ændring af værtsnavnsværdien giver dig mulighed for at ændre navnet på din server. Det vil blive kaldt "Garry's Mod", medmindre du ændrer det. For eksempel vil dette kalde din server "Min seje server":

hostname "My cool server"

Du kan tilføje så mange variabler til filen som du vil, hver ny variabel skal have en ny linje.

Den sv_downloadurlvariabel giver dig mulighed for at vælge, hvor brugerdefinerede server indhold er hentet fra. Tilpasset indhold inkluderer Garrys mod-kort, lyde, tilføjelser og teksturer. Som standard vil Garry's Mod kun tillade, at data downloades fra din server i en ekstremt langsom hastighed, hvorfor vi er nødt til at give en URL, hvorfra dataene kan downloades med fuld hastighed. Den URL, du angiver, skal være en klon af din "garrysmod"-mappe, så alle filerne vil være tilgængelige.

sv_allowuploadcan har to valgmuligheder, 0 eller 1, dette angiver, om du vil tillade folk at uploade indhold til serveren. Dette bruges kun til sprays (grafik, som spillerne kan sprøjte på vægge) og kan forårsage et sikkerhedsproblem. Sprays bliver ofte anmodet om, så brug af "1" vil gøre spillerne glade, men "0" vil holde din server mere sikker.

sv passwordgiver dig mulighed for at vælge en adgangskode til din server. Når nogen tilmelder sig, bliver de bedt om denne adgangskode, og de kan ikke deltage, hvis de ikke har den.

sv_timeouter den tid i sekunder, du ønsker, at serveren skal vente, før den sparker en person, der har mistet forbindelsen. Serveren vil automatisk vente på, at de får deres forbindelse tilbage, men mens dette sker, vil spilleren se ud til at stå stille. Det er bedst at have dette på 60 sekunder eller mindre. Når du har ændret disse indstillinger, er en servergenstart påkrævet.

Tilføjelser kan også installeres for at give yderligere funktioner til spillet. Nogle tilføjelser skal installeres på en bestemt måde, så du bør altid læse instruktionerne på deres side, men sådan vil du downloade og installere de fleste tilføjelser:

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

Erstat http://example.com/addon.zipmed URL'en på, hvor tilføjelsen er placeret. Du skal også ændre addon.zipnavnet på tilføjelsens zip-fil. Nu tilføjelsen er blevet downloadet og pakket ud, kan du slette zip-filen for at spare plads, som sådan:

rm addon.zip

Igen, udskift addon.zipmed det faktiske navn på zip-filen.

Hvis serveren kører i øjeblikket, skal du genstarte den med Ctrl+C og genudsende startkommandoen. Du kan trykke på pil op på dit tastatur for automatisk at indsætte den sidste kommando, du kørte.

Hvis du mister din SSH-forbindelse, skal du, når du genopretter forbindelsen, udstede screen -r command, som lader dig genoptage fra det sted, hvor du sidst var (spilkonsollen).


Sådan konfigureres en Tekkit Classic-server på Ubuntu 16.10

Sådan konfigureres en Tekkit Classic-server på Ubuntu 16.10

Bruger du et andet system? Hvad er Tekkit Classic? Tekkit Classic er en modpack til spillet, som alle kender og elsker; Minecraft. Den indeholder nogle af ver

Konfigurer 7 Days to Die Server på Ubuntu 14

Konfigurer 7 Days to Die Server på Ubuntu 14

I denne guide lærer du, hvordan du opsætter din egen 7 Days to Die-server (7D2D) på Ubuntu. Bemærk venligst, at dette spil stadig er tidlig adgang, og at th

Opsætning af en Half Life 2-server på CentOS 6

Opsætning af en Half Life 2-server på CentOS 6

Denne vejledning vil dække processen med at installere en Half Life 2-spilserver på CentOS 6 System. Trin 1: Installation af forudsætninger For at opsætte ou

Counter-Strike Global Offensive Server Launcher på Ubuntu

Counter-Strike Global Offensive Server Launcher på Ubuntu

De, der har erfaring med at opsætte dedikeret CS:GO (Counter-Strike: Global Offensive), ved, at processen med at bruge kommandolinjegrænsefladen til at administrere

Opsætning af Counter Strike: Source på Debian

Opsætning af Counter Strike: Source på Debian

I denne vejledning vil vi opsætte en Counter Strike: Source-spilserver på Debian 7. Disse kommandoer blev testet på Debian 7, men de burde også virke o

Sådan installeres Unturned 2.2.5 på Debian 8

Sådan installeres Unturned 2.2.5 på Debian 8

I denne vejledning lærer du, hvordan du opsætter en Unturned 2.2.5-server på en Vultr VPS, der kører Debian 8. Bemærk: Dette er en redigeret version af Unturned, der ikke

Sådan installeres Cuberite på en CentOS 6- eller 7-server

Sådan installeres Cuberite på en CentOS 6- eller 7-server

Introduktion Hvad er Cuberite? Cuberite er en skalerbar, open source Minecraft-serverimplementering, der er skrevet i C++. Den har en nem at bruge plugi

Installation af Teamspeak på CentOS 7

Installation af Teamspeak på CentOS 7

Teamspeak er en VOIP-server, der kan bruges til at teams/flere personer kan kommunikere. Det er relativt let og sikkert, da opdateringer udgives

Sådan installeres SteamCMD på din VPS

Sådan installeres SteamCMD på din VPS

I denne tutorial vil vi installere SteamCMD. SteamCMD kan bruges til at downloade og installere en masse Steam-spilservere, såsom Counter-Strike: Global Offensiv

Start af en Teamspeak 3-server på CentOS 6.4

Start af en Teamspeak 3-server på CentOS 6.4

Kør følgende kommandoer for at installere en Teamspeak 3-server. # Secure Iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -

Sådan installeres Left 4 Dead Server på CentOS 7

Sådan installeres Left 4 Dead Server på CentOS 7

I denne vejledning vil jeg forklare, hvordan man installerer og konfigurerer en L4D-server på CentOS 7. Installation af Left 4 Dead Før vi går i gang, skal vi sørge for, at

Sådan installeres en Minecraft-server på Ubuntu 14.04

Sådan installeres en Minecraft-server på Ubuntu 14.04

Bruger du et andet system? I denne artikel skal vi installere en Minecraft-server på en Ubuntu. Sørg for, at du er logget ind under en bruger, der ikke er

Sådan installeres SA-MP San Andreas Multiplayer på CentOS 7

Sådan installeres SA-MP San Andreas Multiplayer på CentOS 7

I denne vejledning lærer du, hvordan du opsætter en SA-MP (San Andreas Multiplayer)-server på CentOS 7.

Opsætning af TeeWorlds-server

Opsætning af TeeWorlds-server

TeeWorlds er et gratis og open source online multiplayer skydespil. I denne tutorial skal jeg forklare, hvordan man opretter en TeeWorlds-server. Disse trin var

Kør din egen Arma 3-server på Ubuntu 14

Kør din egen Arma 3-server på Ubuntu 14

Oversigt Denne guide vil dække installationen og betjeningen af ​​din Arma 3-server ved hjælp af SteamCMD og skærm. For yderligere information vedr

Sådan installeres en Tekkit Classic Server på CentOS 6/7

Sådan installeres en Tekkit Classic Server på CentOS 6/7

Bruger du et andet system? I denne tutorial kan du godt lave en Tekkit Classic-server. Tekkit er en anden populær modpack lavet til Minecraft. På grund af mængden

Sådan installeres Glowstone (Minecraft) på en CentOS 7-server

Sådan installeres Glowstone (Minecraft) på en CentOS 7-server

Bruger du et andet system? Introduktion Glowstone er utvivlsomt den mest optimerede server til Minecraft. Softwaren kan prale af lavt hukommelsesforbrug og -brug

Sådan installeres Unturned på Linux

Sådan installeres Unturned på Linux

Bruger du et andet system? Introduktion I denne vejledning lærer du, hvordan du opsætter og installerer en Unturned-server på Linux. Unturned er en populær overlevelse

Opsætning af en JC2:MP-spilserver på Debian

Opsætning af en JC2:MP-spilserver på Debian

I denne guide vil vi opsætte en Just Cause 2: Multiplayer Linux-server. Disse kommandoer blev testet på Debian 7 x64, men de burde også virke på th

Installer en Minecraft-server på Fedora 26

Installer en Minecraft-server på Fedora 26

Bruger du et andet system? I denne tutorial vil jeg guide dig gennem opsætning af en Minecraft-server på en højtydende SSD VPS hos Vultr. Du vil lære ho

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere