Sette opp en Garrys Mod-server

Sette opp en Garrys Mod-server

Instruksjonene er designet for Ubuntu 14.04 32 bit, men skal fungere på alle versjoner av Ubuntu. Denne opplæringen vil lære deg hvordan du lager en Garry's Mod-spillserver.

Logg inn via terminalen som root.

For det første må vi sørge for at brannmuren er sikker for å redusere sjansene for et sikkerhetsproblem. Forutsatt at denne serveren vil være dedikert til Garrys Mod, er det trygt å blokkere absolutt alle innkommende porter (inkludert ICMP) i tillegg til de som kreves for Garrys Mod. ICMP er ikke nødvendig for driften av serveren, og å blokkere den fullstendig vil ikke ha noen negative effekter på Garrys Mod, men det vil bidra til å redusere angrepsvektorene til et DDoS-angrep.

For å blokkere alle ikke-påkrevde porter, kreves 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 forteller i utgangspunktet brannmuren om å ignorere hver ICMP-pakke den mottar, og ikke gjøre noe med den. Dette betyr også at hvis noen prøver å pinge serveren din, vil de ikke få noe svar. Den andre linjen ber brannmuren blokkere alle utgående ICMP-pakker, dette er mye mindre viktig, men bare dobbel sikrer at det ikke skjer noen ICMP-kommunikasjon.

Deretter må vi spesifikt tillate alle portene som kreves for Garry's Mod (27005 - 27015 inkludert) med disse kommandoene:

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

Dette sier at alt på portene mellom 27005 og 27015 er tillatt. Den første kommandoen er for TCP, og den andre er for UDP. Den andre kommandoen (UDP) er den viktigste her da nesten all kommunikasjon mellom serveren og spillerne gjøres med UDP. Noen mennesker har rapportert problemer med blokkert TCP, så av den grunn bør vi tillate det.

Nå vil vi fortelle brannmuren om å tillate tilkoblinger som vi har åpnet selv (eller programvaren på serveren har). Dette betyr at hvis vi kontakter en server, vil vi kunne se et svar. Skriv inn denne kommandoen for å tillate det:

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

Hvis du skal bruke SSH til å kontrollere serveren din (i stedet for å bruke konsollen på kontoen din), er denne kommandoen nødvendig for å la SSH fungere på standardporten. Hvis du ikke bruker SSH, ikke kjør dette:

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

Og til slutt, den siste kommandoen for å sette opp brannmuren. Denne kommandoen vil blokkere alle innkommende tilkoblinger i tillegg til de vi har tillatt:

iptables -A INPUT -j REJECT

Disse innstillingene brukes bare til vi starter serveren på nytt, noe som betyr at vi må konfigurere den manuelt hver gang datamaskinen starter på nytt. Dette er ikke akseptabelt, så det er en pakke å installere som lagrer brannmurreglene til en fil, og deretter laster den hver gang serveren starter opp. For å installere denne pakken, skriv inn følgende:

apt-get install iptables-persistent

Følg instruksjonene på skjermen. Når du blir spurt om du vil lagre gjeldende brannmurregler, trykker du ja.

Nå er brannmuren vår satt opp, og det skal aldri kreves mer konfigurasjon i forhold til brannmuren.

Hvis du bruker SSH, er det en pakke du bør installere som automatisk blokkerer folks tilkobling til serveren hvis de fortsetter å prøve feil SSH-passord. Dette er veldig nyttig for å forhindre at SSH-passordet ditt blir brutalt tvunget”. For å installere pakken, bruk følgende kommando:

apt-get install fail2ban

Fail2ban er allerede konfigurert til å blokkere folks tilgang etter bare noen få mislykkede passordforsøk, så vi trenger ikke å konfigurere det. Nå er serveren din betydelig sikrere enn den var da vi startet.

Deretter må vi installere "skjerm". Dette lar deg i utgangspunktet kjøre kommandoer kontinuerlig, selv om du logger ut fra serveren. Dette er viktig for å holde din Garry's Mod-server i gang kontinuerlig i lange perioder, spesielt når du kontrollerer serveren med SSH. For å installere "skjerm", skriv inn følgende:

apt-get install screen

Etter at installasjonen er fullført, kjør denne kommandoen:

screen

En ansvarsfraskrivelse vil vises på skjermen, bare trykk enter for å fortsette. Å skrive screeninn på konsollstartskjermen og lar deg jobbe inne i en virtuell konsoll, hvis du kobler fra SSH, eller logger ut, vil denne virtuelle konsollen fortsette å kjøre med kommandoen din på siden av den (Garrys Mod-server kjører som en Linux-kommando, så det er her vi må bruke skjermen).

Nå, før vi installerer Steam, Garry's Mod og de nødvendige filene, trenger vi en konto dedikert til det. Jeg foreslår at du ringer det steam. For å opprette en ny konto, skriv inn følgende:

adduser steam

Du må bruke et annet passord enn root-passordet for å holde alt sikkert. Du vil svært sjelden bruke dette passordet. Du vil bli stilt noen spørsmål om kontoen, for eksempel dens fulle navn, telefonnummer osv. La alle disse stå tomme.

Nå ønsker vi å være logget inn på "steam"-kontoen mens vi laster ned alle nødvendige filer. Dette betyr at "steam" får alt av eierskap til disse filene, og Linux-tillatelsene er satt riktig uten noen konfigurasjon. Det er mye vanskeligere å få rettighetene rett hvis du installerer Steam som root, og deretter prøver å endre disse tillatelsene. For å logge på som steam, skriv inn følgende:

su steam

Vi trenger en katalog (mappe) for å lagre Steam-programvaren. For å lage katalogen, bruk denne kommandoen:

mkdir ~/Steam

Nå vil vi være inne i den katalogen. For å gjøre den til din nåværende arbeidskatalog, skriv inn følgende:

cd ~/Steam

Vi må nå laste ned Steam-programvaren ved å skrive:

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

Nå må vi dekomprimere og installere det, med følgende:

tar -xvzf steamcmd_linux.tar.gz

Hvis du bruker et 64-biters operativsystem, må du installere 32-bits biblioteker for å kjøre Steam.

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

Kjør følgende kommando for å åpne Steam, be den logge på som "anonym" (en Steam-konto som alle kan bruke til å laste ned gratis programvare fra serverne deres), og be den installere Garry's Mod-serveren i gmodds-mappen (lagret i Steam-kontoens hjemmekatalog).

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

Vi kan forvente at kommandoen vil vare lenge, men vi får se fremdriften til den. Det er mulig for denne kommandoen å mislykkes, Steam-serverne har ganske ofte mindre problemer som fører til at en nedlasting mislykkes (eller ikke starter i det hele tatt). Hvis dette skjer, er det bare å starte det på nytt.

Når denne kommandoen er fullført, vil vi ha en arbeidskopi av Garry's Mod-serveren, men det meste av Garry's Mod-innhold krever at CounterStrike: Source (CS:S forkortet) er installert. For å installere CS:S, kjør følgende kommando:

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

Denne kommandoen vil også ta en stund.

Når Garrys Mod og CounterStrike er installert, må de kobles sammen ved hjelp av en konfigurasjonsfil. For å gjøre det, må vi redigere følgende fil med denne kommandoen:

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

På linjen som inneholder "cstrike" må vi fjerne de to skråstrekene (//) ved starten av linjen, og deretter erstatte hele banedelen av linjen (starter med C:/). Den delen av linjen må erstattes med:

/home/steam/cssds/cstrike

Hele linjen skal nå se slik ut:

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

Det skal være en tabulatorplass i starten før ordet cstrike, og linjen skal ikke inneholde en dobbel skråstrek (//) hvor som helst. Når du er ferdig, kan du lagre denne filen med Ctrl+X og deretter Y. Dette forteller Garry's Mod hvor den kan finne CounterStrike slik at den kan brukes.

Nå har vi en grunnleggende Garry's Mod-server installert. For å kjøre det, sørg for at vi er i riktig katalog med denne kommandoen:

cd /home/steam/gmodds/

Kjør deretter følgende kommando:

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

Når den har startet opp, bør du kunne bli med ved å skrive inn følgende i Garry's Mod Console (IKKE serverterminalen):

connect IP_ADDRESS

Erstatt IP_ADDRESSmed IP-adressen til serveren. Hvis du ikke vet IP-adressen din, kan du skrive inn følgende i serverterminalen for å fortelle deg hva det er:

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

Hvis du vil endre antall spillere som er tillatt på serveren din, stopper du serveren ved å gjøre Ctrl+C og gjør startkommandoen på nytt, men erstatt maxplayers 16med maxplayers x(endre xtil antall spillere du ønsker). For å endre standardkartet (det første kartet som spilles), erstatt cs_officemed navnet på kartet du ønsker. Og til slutt, for å endre spillmodus, bytt ut terrortownmed den spillmodusen du ønsker. Garry's Mod kommer bare med terrortown(Short for Trouble in Terrorist Town) og Sandbox som standard.

For å konfigurere serveren ytterligere, er det en konfigurasjonsfil som kan redigeres. Hver linje i denne filen kalles en konfigurasjonsvariabel (cVar). Kjør denne kommandoen for å redigere filen:

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

Følgende verdier kan endres, jeg skal snart forklare hva hver enkelt gjør:

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

Ved å endre vertsnavnet kan du endre navnet på serveren. Den vil bli kalt "Garry's Mod" med mindre du endrer den. For eksempel vil dette kalle serveren din "Min kule server":

hostname "My cool server"

Du kan legge til så mange variabler til filen du vil, hver ny variabel trenger en ny linje.

Den sv_downloadurlvariable kan du velge hvor tilpasset server innhold er lastet ned fra. Tilpasset innhold inkluderer Garrys mod-kart, lyder, tillegg og teksturer. Som standard vil Garry's Mod bare tillate at data lastes ned fra serveren din i ekstremt lav hastighet, og det er grunnen til at vi må oppgi en URL hvor dataene kan lastes ned i full hastighet. URL-en du oppgir må være en klone av "garrysmod"-mappen din slik at alle filene vil være tilgjengelige.

sv_allowuploadcan har to valg, 0 eller 1, dette spesifiserer om du vil la folk laste opp innhold til serveren. Dette brukes kun til spray (grafikk som spillerne kan spraye på vegger) og kan forårsake et sikkerhetsproblem. Spray blir ofte etterspurt, så bruk av "1" vil gjøre spillerne glade, men "0" vil holde serveren din mer sikker.

sv passwordlar deg velge et passord for serveren din. Når noen blir med, vil de bli bedt om dette passordet, og de kan ikke bli med hvis de ikke har det.

sv_timeouter hvor lang tid i sekunder du vil at serveren skal vente før du sparker noen som har mistet forbindelsen. Serveren vil automatisk vente på at de får tilkoblingen tilbake, men mens dette skjer vil spilleren se ut til å stå stille. Det er best å ha dette på 60 sekunder eller mindre. Når du har endret disse innstillingene, kreves en omstart av serveren.

Addons kan også installeres for å gi ekstra funksjoner til spillet. Noen tillegg må installeres på en bestemt måte, så du bør alltid lese instruksjonene på siden deres, men dette er hvordan du vil laste ned og installere de fleste tilleggene:

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

Erstatt http://example.com/addon.zipmed URL-en til hvor tillegget er plassert. Du må også endre addon.zipnavnet på tilleggets zip-fil. Nå tillegget er lastet ned og pakket ut, kan du slette zip-filen for å spare plass, slik:

rm addon.zip

Igjen, erstatt addon.zipmed det faktiske navnet på zip-filen.

Hvis serveren kjører for øyeblikket, må du starte den på nytt med Ctrl+C og gi startkommandoen på nytt. Du kan trykke på pil opp på tastaturet for automatisk å sette inn den siste kommandoen du kjørte.

Hvis du mister SSH-tilkoblingen din, må du utstede koden når du kobler til igjen screen -r command, som lar deg fortsette fra der du sist var (spillkonsollen).


Hvordan sette opp en Tekkit Classic Server på Ubuntu 16.10

Hvordan sette opp en Tekkit Classic Server på Ubuntu 16.10

Bruker du et annet system? Hva er Tekkit Classic? Tekkit Classic er en modpack for spillet alle kjenner og elsker; Minecraft. Den inneholder noe av ver

Sett opp 7 Days to Die Server på Ubuntu 14

Sett opp 7 Days to Die Server på Ubuntu 14

I denne guiden lærer du hvordan du setter opp din egen 7 Days to Die-server (7D2D) på Ubuntu. Vær oppmerksom på at dette spillet fortsatt er tidlig tilgang og at th

Sette opp en Half Life 2-server på CentOS 6

Sette opp en Half Life 2-server på CentOS 6

Denne opplæringen vil dekke prosessen med å installere en Half Life 2-spillserver på CentOS 6 System. Trinn 1: Installere forutsetninger For å sette opp ou

Counter-Strike Global Offensive Server Launcher på Ubuntu

Counter-Strike Global Offensive Server Launcher på Ubuntu

De som har erfaring med å sette opp dedikert CS:GO (Counter-Strike: Global Offensive) vet at prosessen med å bruke kommandolinjegrensesnittet for å administrere

Sette opp Counter Strike: Source på Debian

Sette opp Counter Strike: Source på Debian

I denne veiledningen skal vi sette opp en Counter Strike: Source-spillserver på Debian 7. Disse kommandoene ble testet på Debian 7, men de bør også fungere o

Hvordan installere Unturned 2.2.5 på Debian 8

Hvordan installere Unturned 2.2.5 på Debian 8

I denne veiledningen lærer du hvordan du setter opp en Unturned 2.2.5-server på en Vultr VPS som kjører Debian 8. Merk: Dette er en redigert versjon av Unturned som ikke

Slik installerer du Cuberite på en CentOS 6- eller 7-server

Slik installerer du Cuberite på en CentOS 6- eller 7-server

Innledning Hva er Cuberite? Cuberite er en skalerbar Minecraft-serverimplementering med åpen kildekode som er skrevet i C++. Den har en brukervennlig plugi

Installere Teamspeak på CentOS 7

Installere Teamspeak på CentOS 7

Teamspeak er en VOIP-server som kan brukes for team/flere personer til å kommunisere. Den er relativt lett og sikker, ettersom oppdateringer er utgitt

Slik installerer du SteamCMD på din VPS

Slik installerer du SteamCMD på din VPS

I denne opplæringen vil vi installere SteamCMD. SteamCMD kan brukes til å laste ned og installere mange Steam-spillservere, for eksempel Counter-Strike: Global Offensiv

Starte en Teamspeak 3-server på CentOS 6.4

Starte en Teamspeak 3-server på CentOS 6.4

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

Slik installerer du Left 4 Dead Server på CentOS 7

Slik installerer du Left 4 Dead Server på CentOS 7

I denne veiledningen vil jeg forklare hvordan du installerer og konfigurerer en L4D-server på CentOS 7. Installere Left 4 Dead Før vi kommer i gang, må vi sørge for at

Hvordan installere en Minecraft-server på Ubuntu 14.04

Hvordan installere en Minecraft-server på Ubuntu 14.04

Bruker du et annet system? I denne artikkelen skal vi installere en Minecraft-server på en Ubuntu. Pass på at du er logget inn under en bruker som ikke er

Slik installerer du SA-MP San Andreas Multiplayer på CentOS 7

Slik installerer du SA-MP San Andreas Multiplayer på CentOS 7

I denne opplæringen lærer du hvordan du setter opp en SA-MP (San Andreas Multiplayer)-server på CentOS 7.

Sett opp TeeWorlds server

Sett opp TeeWorlds server

TeeWorlds er et gratis og åpen kildekode online flerspiller skytespill. I denne opplæringen skal jeg forklare hvordan du lager en TeeWorlds-server. Disse trinnene var

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

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

Oversikt Denne guiden vil dekke installasjonen og driften av din Arma 3-server ved hjelp av SteamCMD og skjerm. For ytterligere informasjon om th

Hvordan installere en Tekkit Classic Server på CentOS 6/7

Hvordan installere en Tekkit Classic Server på CentOS 6/7

Bruker du et annet system? I denne opplæringen kan du godt lage en Tekkit Classic-server. Tekkit er en annen populær modpack laget for Minecraft. På grunn av beløpet

Slik installerer du Glowstone (Minecraft) på en CentOS 7-server

Slik installerer du Glowstone (Minecraft) på en CentOS 7-server

Bruker du et annet system? Introduksjon Glowstone er utvilsomt den mest optimaliserte serveren for Minecraft. Programvaren har lav minnebruk og bruk

Hvordan installere Unturned på Linux

Hvordan installere Unturned på Linux

Bruker du et annet system? Introduksjon I denne veiledningen lærer du hvordan du setter opp og installerer en Unturned-server på Linux. Unturned er en populær overlevelse

Sette opp en JC2:MP-spillserver på Debian

Sette opp en JC2:MP-spillserver på Debian

I denne veiledningen vil vi sette opp en Just Cause 2: Multiplayer Linux-server. Disse kommandoene ble testet på Debian 7 x64, men de bør også fungere på th

Installer en Minecraft-server på Fedora 26

Installer en Minecraft-server på Fedora 26

Bruker du et annet system? I denne opplæringen vil jeg veilede deg gjennom å sette opp en Minecraft-server på en høyytelses SSD VPS på 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 akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer