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).

Efterlad en kommentar

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.

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.

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.

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