Sådan installerer du plugins på din CS2 server med Metamod og CounterStrikeSharp
Fra tom server til fungerende plugins: Metamod:Source, den obligatoriske gameinfo.gi-linje, CounterStrikeSharp og opsætning af admins - plus hvorfor det hele går ned efter hver CS2-opdatering.
Sådan hænger det sammen
CS2 har ikke selv et system til serverplugins. Du skal bruge to ting, og de skal installeres i den rækkefølge:
- Metamod:Source - selve plugin-loaderen. Den gør intet i sig selv, men den er forudsætningen for alt andet.
- CounterStrikeSharp - et framework der kører oven på Metamod og lader dig køre plugins skrevet i C#.
SourceMod virker ikke på CS2. SourceMod er aldrig blevet porteret til Source 2, og
.smx-plugins kan ikke køre. Kommer du fra CS:GO, skal dine plugins erstattes af CounterStrikeSharp-versioner. CounterStrikeSharp bruger bevidst de samme flagnavne som SourceMod (@css/ban,@css/kick), så det er til at finde rundt i.
Bemærk også, at Metamod til CS2 kun findes i 2.x-udviklingsgrenen. Den ældre 1.x-stabile version er til Source 1 og virker ikke.
Trin 1 - Installér Metamod:Source
- Stop din server i Potionhost kontrolpanelet.
- Hent den nyeste 2.x dev-udgave af Metamod:Source til Linux fra metamodsource.net.
- Åbn Filer og pak arkivets
addons-mappe ud igame/csgo/.
Resultatet skal se sådan ud:
game/csgo/addons/
├── metamod/
├── metamod.vdf
└── metamod_x64.vdf
Trin 2 - Redigér gameinfo.gi
Det her trin er obligatorisk. Uden det bliver Metamod aldrig indlæst.
Åbn game/csgo/gameinfo.gi og find blokken GameInfo → FileSystem → SearchPaths. Tilføj denne linje lige efter linjen Game_LowViolence csgo_lv og før den første Game csgo:
Game csgo/addons/metamod
Tre regler:
- Nøgleordet er
Game- ikkeGameBin. - Behold filens eksisterende indrykning med tabs. Forkert indrykning er en dokumenteret årsag til at det ikke virker.
- Linjen skal ligge før de øvrige
Game-stier.
Vigtigt: hver eneste CS2-opdatering overskriver
gameinfo.giog fjerner din linje. Serveren starter fint bagefter, men Metamod og alle dine plugins er væk uden en fejlbesked. Det er den klart hyppigste årsag til "mine plugins holdt op med at virke". Tjek filen efter hver opdatering.
Trin 3 - Installér CounterStrikeSharp
- Hent den nyeste udgivelse fra CounterStrikeSharp på GitHub.
- Vælg den udgave hvis navn indeholder
with-runtime. Er det din første installation, er det den eneste der virker - den anden forudsætter, at du selv vedligeholder en .NET-runtime på serveren. - Pak dens
addons-mappe ud igame/csgo/, så den lægger sig oven i den, Metamod allerede har lavet.
Mappen skal nu indeholde:
game/csgo/addons/
├── counterstrikesharp/
│ ├── bin/
│ ├── dotnet/
│ ├── plugins/
│ ├── configs/
│ └── gamedata/
├── metamod/
│ └── counterstrikesharp.vdf
└── metamod.vdf
Filen metamod/counterstrikesharp.vdf er den, der får Metamod til at indlæse CounterStrikeSharp. Mangler den, sker der ingenting.
- Start serveren.
Trin 4 - Verificér installationen
Skriv i Konsol:
meta version
meta list
css_plugins list
meta versionskal returnere et versionsnummer. Får duUnknown command: meta, blev Metamod aldrig indlæst - gå tilbage til Trin 2.meta listskal vise CounterStrikeSharp med statusRUN.css_plugins listviser dine C#-plugins.
Trin 5 - Installér et plugin
Plugins ligger i game/csgo/addons/counterstrikesharp/plugins/ med én mappe per plugin, hvor mappenavnet er præcis det samme som DLL-filen:
plugins/
└── WeaponRestrict/
└── WeaponRestrict.dll
Nogle plugins pakkes med en ekstra mappe udenom, så du får
plugins/WeaponRestrict-v1.2/WeaponRestrict/WeaponRestrict.dll. Det indlæses ikke. Fjern det ekstra niveau.
Genstart serveren, eller brug:
| Kommando | Hvad den gør |
|---|---|
css_plugins list |
Viser alle indlæste plugins |
css_plugins load Navn |
Indlæser et plugin |
css_plugins unload Navn |
Slår et plugin fra |
css_plugins reload Navn |
Genindlæser efter en config-ændring |
Config-filer oprettes automatisk ved første indlæsning i addons/counterstrikesharp/configs/plugins/PluginNavn/PluginNavn.json. Lav dem ikke selv på forhånd - lad pluginnet skrive sine standardværdier først, og redigér dem bagefter.
Trin 6 - Opsæt admins
Administratorer defineres i addons/counterstrikesharp/configs/admins.json:
{
"Dit navn": {
"identity": "76561198000000000",
"flags": ["@css/generic", "@css/kick", "@css/ban", "@css/changemap"]
}
}
identity er spillerens SteamID64 - det 17-cifrede tal der starter med 7656119. Du finder det på fx steamid.io ud fra profil-URL'en.
Har du flere admins med samme rettigheder, er grupper nemmere. I admin_groups.json:
{
"#css/admin": {
"flags": ["@css/generic", "@css/kick", "@css/ban", "@css/changemap", "@css/slay"],
"immunity": 100
}
}
Og i admins.json:
{
"Dit navn": {
"identity": "76561198000000000",
"groups": ["#css/admin"]
}
}
To regler der ikke kan bøjes:
- Alle rettigheder starter med
@. - Alle gruppenavne starter med
#.
CounterStrikeSharp har ingen admin-kommandoer i sig selv. Kick, ban og slay kommer fra et plugin - fx CS2-SimpleAdmin. Frameworket styrer kun, hvem der har lov.
Admin-filerne læses ved opstart. Genstart serveren, når du har rettet dem.
Fejlfinding
| Symptom | Sandsynlig årsag | Løsning |
|---|---|---|
Unknown command: meta |
Linjen i gameinfo.gi mangler, står forkert eller har forkert indrykning |
Gennemgå Trin 2 |
| Alt holdt op med at virke efter en CS2-opdatering | gameinfo.gi blev overskrevet |
Tilføj linjen igen |
| Metamod indlæses slet ikke | Du installerede 1.x-grenen | Hent 2.x dev-udgaven |
Fejl om undefined symbol ved opstart |
Metamod er ældre end den nuværende CS2-build | Opdatér Metamod |
CounterStrikeSharp står som NOFILE i meta list |
metamod/counterstrikesharp.vdf mangler |
Pak CounterStrikeSharp ud igen |
Failed to initialize .NET runtime |
Du hentede udgaven uden runtime | Hent with-runtime-udgaven |
css_plugins er ukendt, men meta list viser CSS |
.NET-runtimen startede ikke | Se ovenfor, og tjek konsollen for fejl |
| Et plugin dukker ikke op på listen | Forkert mappedybde, eller mappenavn matcher ikke DLL-navnet | Ret til plugins/Navn/Navn.dll |
| Pluginnet ignorerer sin config | Du redigerede den forkerte fil | Config ligger under configs/plugins/Navn/ |
| Admin-rettigheder virker ikke | Manglende @ eller #, eller serveren er ikke genstartet |
Ret syntaksen og genstart |
Efter hver CS2-opdatering
Valve opdaterer CS2 løbende, og serveren opdaterer sig selv. Efter en opdatering skal du regne med at:
gameinfo.gier nulstillet - linjen skal tilføjes igen.- Metamod kan skulle opdateres, hvis motoren har ændret sig.
- CounterStrikeSharp følger typisk efter et par timer til et par dage.
Et kort udfald efter en Valve-opdatering er normalt og rammer alle servere med plugins. Fortæl dine spillere det på forhånd, så du slipper for spørgsmålene.
Hold dig fra plugins der forfalsker spilleres inventar eller rang. Valve tillader det ikke, og konsekvensen rammer den Steam-konto, dit GSLT er udstedt til.
Er du ny på CS2-servere, så tag Game Server Login Token (GSLT) til CS2 og Sådan kører du workshop-maps på din CS2 server med det samme.