Prestanda och drift
Prestandaskyddet håller entitetsantalet nere genom att blockera nya djur i chunkar som redan är fulla. Det dödar aldrig något som redan finns, kör aldrig periodiska världsskanningar och rör aldrig databasen. /prestanda visar hur servern mår, vilka chunkar som är värst och var gränserna går – spelare får bokvyer, konsolen får samma innehåll som text. Själva driften – att starta, stoppa, följa loggen och skicka kommandon till servern – sköts på VPS:en med hjälpkommandot sudo mc, som numera styr Pterodactyl.
Se hur servern mår
Två kommandon räcker för en snabb bild.
Serverhälsa i spelet
Bokvy med TPS för 1, 5 och 15 minuter, MSPT, minne, laddade chunkar, entiteter totalt och blockerade spawns sedan start. Sida 2 visar entiteter och chunkar per värld, sida 3 de tio värsta chunkarna med koordinater och dominerande typ.
/prestandaSystemhälsa
Databaspingen, senaste migreringen, TPS, MSPT, minne, upptid, cache-storlekar och alla schemalagda jobb.
/nordguild hälsaVar är entiteterna
Antal per typ i en värld, sorterat fallande. Utan argument används världen du står i. Konsolen får första världen.
/prestanda entiteter [värld]Står du i en full chunk?
Alla entiteter per typ i chunken du står i, mot gränsen. En full chunk visas i rött.
/prestanda chunk
Starta och stoppa servern
Hjälpkommandot sudo mc körs på VPS:en och tar en del som argument: paper (huvudservern), vantrum (väntrummet), velocity (proxyn) eller alla. Kör sudo mc utan argument för hjälptexten.
Se vad som kör
Visar körstatus för alla tre delarna.
sudo mc status allaStarta om huvudservern
Spelarna hamnar i kön under omstarten och släpps in igen så fort servern svarar.
sudo mc restart paperFölj loggen
Underkommandot heter logg, inte logs, och det FÖLJER loggen löpande. Avsluta med Ctrl+C. Vill du bara kasta ett öga läser du logs/latest.log i serverns volym direkt i stället.
sudo mc logg paperSkicka ett kommando till serverkonsolen
Skriv kommandot utan inledande snedstreck, inom citattecken. Så här körs alla konsolkommandon, till exempel uppsättningen av spawnzonen.
sudo mc cmd paper "zon lista"Ta en backup direkt
Kör backupen nu i stället för att vänta på nattkörningen 03:15.
sudo mc backup
Kommandon
Bokvy med TPS för 1, 5 och 15 minuter, MSPT, minne, laddade chunkar, entiteter totalt och blockerade spawns sedan start. Sida 2: entiteter och chunkar per värld. Sida 3: de tio värsta chunkarna med koordinater och dominerande typ. Knappar leder till de övriga vyerna. Konsolen får samma innehåll som text.
Alla entiteter per typ i chunken du står i, mot gränsen. En full chunk visas i rött.
Hela gränslistan, typ för typ, samt om tama och namngivna djur räknas med.
/prestanda entiteter [värld]Antal per typ i en värld, sorterat fallande. Utan argument används världen du står i; konsolen får den första världen.
De senaste prestandalarmen sedan serverstart, med tid och text.
Kommandolistan i chatten. Det du också får om du skriver ett okänt underkommando.
Driftkommandot sudo mc
| Underkommando | Vad det gör |
|---|---|
| sudo mc start [del] | Startar servern. |
| sudo mc stop [del] | Stoppar servern ordentligt, så världen och databasen hinner skrivas klart. |
| sudo mc restart [del] | Startar om servern. |
| sudo mc kill [del] | Tvångsstoppar processen. Bara när stop inte biter – världen kan förlora det som inte hunnit sparas. |
| sudo mc status [del] | Visar om servern kör. |
| sudo mc logg [del] | FÖLJER loggen löpande (heter logg, inte logs). Avslutas med Ctrl+C. |
| sudo mc cmd <del> "<kommando>" | Skickar ett kommando till serverkonsolen. Skriv kommandot utan inledande snedstreck. |
| sudo mc backup [del] | Kör backupen direkt. |
| sudo mc panel [del] | Genväg till Pterodactyl-panelen. |
Delar som sudo mc kan riktas mot
| Del | Vad det är | Port |
|---|---|---|
| paper | Huvudservern med hela spelet och NordGuild.jar. | 25566, endast lokalt |
| vantrum | Väntrummet för köade spelare, NordGuildVantrum.jar. | 25567, endast lokalt |
| velocity | Proxyn som tar emot spelarna och kör kösystemet NordGuildKo. | 25565, publik |
| alla | Alla tre på en gång. |
Entitetsgränser per chunk (prestanda.entitetsgranser)
| Entitetstyp | Max per chunk |
|---|---|
| CHICKEN | 20 |
| COW | 20 |
| SHEEP | 20 |
| PIG | 20 |
| VILLAGER | 20 |
| HORSE | 10 |
| DONKEY | 10 |
| MULE | 10 |
| BEE | 15 |
| RABBIT | 15 |
| LLAMA | 12 |
| GOAT | 15 |
| AXOLOTL | 15 |
| CAT | 10 |
| WOLF | 10 |
| PARROT | 10 |
| IRON_GOLEM | 8 |
| SNOW_GOLEM | 8 |
Övriga inställningar under prestanda: i config.yml
| Nyckel | Vad den styr | Standard |
|---|---|---|
| entitetsgranser_aktiva | Om skyddet är på alls. false stänger av allt. | true |
| entitetsgranser | Max per chunk och typ. Namnen är Bukkits egna entitetsnamn och du får lägga till egna rader fritt, till exempel FOX: 10 eller PANDA: 8. 0 eller ett negativt tal betyder ingen gräns för den typen. | Se tabellen ovan |
| anledningar | Vilka spawn-anledningar som kontrolleras. Okända namn hoppas över med en varning i konsolen. | BREEDING, EGG, DISPENSE_EGG, SPAWNER_EGG, BUILD_IRONGOLEM, BUILD_SNOWMAN, BUILD_COPPERGOLEM, CURED, OCELOT_BABY, DUPLICATION |
| rakna_tama | Räknas tama djur (häst, varg, katt, papegoja med ägare) mot gränsen? | true |
| rakna_namngivna | Räknas djur med namnbricka mot gränsen? | true |
| cache_millisekunder | Hur länge en räkning per chunk och typ återanvänds. Skyddar mot dispenser-spam. | 2000 |
| meddelande_cooldown_sekunder | Max ett blockeringsmeddelande per spelare så här ofta. | 3 |
| skanning_chunks_per_tick | Hur många chunkar /prestanda skannar per tick. | 250 |
| skanning_cache_sekunder | Hur länge ett skanningsresultat återanvänds när flera adminer tittar samtidigt. | 20 |
| overvakning.aktiv | Om serverhälsan mäts och larmar. | true |
| overvakning.intervall_sekunder | Hur ofta TPS, MSPT, minne, chunkar och entiteter mäts. | 60 |
| overvakning.tps_larm | Larma när 1-minuters-TPS understiger detta. | 17 |
| overvakning.entiteter_larm | Larma när en värld har fler entiteter än så här. | 8000 |
| overvakning.larm_cooldown_minuter | Samma larmtyp upprepas tidigast efter så här många minuter. | 10 |
Var loggarna finns
| Var | Vad |
|---|---|
| sudo mc logg paper | Huvudserverns konsol i realtid. |
| logs/latest.log i serverns volym | Huvudserverns logg. Äldre loggar ligger som logs/*.log.gz bredvid. |
| Proxyns logs/latest.log | Anslutningar och kö. |
| /revision i spelet | Revisionsloggen i databasen: ekonomi, företag, samhällen, claims, kontrakt, jobb, butiker, marknad, admin och säkerhet. |
| /nordguild hälsa | Databasping, senaste migrering, TPS, MSPT, minne, upptid, cache-storlekar och schemalagda jobb. |
Bra att veta
Varning: Underkommandot heter logg och det följer loggen
sudo mc logg paper öppnar en löpande vy som inte tar slut av sig själv – avsluta med Ctrl+C. Vill du bara kasta ett snabbt öga läser du logs/latest.log i serverns volym direkt i stället.
Varning: Stoppa alltid ordentligt
Använd stop, inte kill, så att världen och databasen hinner skrivas klart. kill finns för när servern har hängt sig och stop inte biter.
Bara ett par saker blockeras – med flit
Skyddet stoppar bara sådant en spelare kan upprepa i det oändliga: avel, kastade ägg, dispenserägg, spawnägg, handbyggda järnvarelser, snögubbar och koppargolem, botade bybor, ocelotungar och duplicering. Naturliga spawns, spawners, chunkgenerering, portaler och förvandlingar rörs aldrig. Avel avbryts så att ingen unge skapas, och kastade ägg kläcks helt enkelt inte.
Varning: Järnfarmar omfattas inte som standard
Järnvarelser som byn själv bygger har spawn-anledningen VILLAGE_DEFENSE, inte BUILD_IRONGOLEM. Gränsen IRON_GOLEM: 8 gäller därför i praktiken bara golem som en spelare staplar ihop för hand. Lägg till VILLAGE_DEFENSE i prestanda.anledningar om järnfarmar ska omfattas – det är ett spelbalansbeslut, inte en teknisk detalj.
Hinkutsläpp är utelämnat med flit
BUCKET (axolotl, fisk, grodyngel som hälls ut) står inte i listan. Hinken är redan tömd när händelsen når pluginet, så en blockering skulle förstöra spelarens fångade djur. Gränsen AXOLOTL: 15 gäller alltså inte hinkutsläpp.
Spelaren får alltid veta varför
När en spelares egen handling stoppas kommer en kort text i actionbaren, till exempel Här finns redan 20 hönor i den här chunken, strypt till högst en per spelare var meddelande_cooldown_sekunder. Vid avel och kastat ägg går meddelandet till spelaren i händelsen, vid spawnägg och golembyggen till närmaste spelare inom sex block. Fodret respektive ägget är redan förbrukat när händelsen når pluginet – därför tas föräldrarna samtidigt ur parningsläge, annars hade servern försökt para dem igen varje tick i upp till 30 sekunder. Spawns utan någon som väntar på svar, som dispenserägg och botade bybor, blockeras tyst.
Undantagen gäller bara räkningen
prestanda.rakna_tama: false och prestanda.rakna_namngivna: false gör att tama respektive namngivna djur inte räknas mot gränsen. Befintliga djur rörs aldrig och kan alltid flyttas dit ägaren vill, oavsett hur många som redan står i chunken.
Så larmar övervakningen
prestanda.overvakning mäter TPS, MSPT, minne, laddade chunkar och entiteter per värld var intervall_sekunder (standard 60) och larmar i konsolen, till online-adminer med nordguild.admin.prestanda och som revisionspost under kategorin ADMIN när 1-minuters-TPS understiger tps_larm (17) eller en värld har fler entiteter än entiteter_larm (8000). Samma larmtyp upprepas tidigast efter larm_cooldown_minuter. Modulen har inga ekonomiska flöden alls.
/prestanda är helt läsande
Kommandot ändrar aldrig världen, tar aldrig bort entiteter och rör varken ekonomin eller databasen. Skanningen körs med budget – prestanda.skanning_chunks_per_tick chunkar per tick – och resultatet återanvänds i prestanda.skanning_cache_sekunder sekunder, så flera samtidiga adminer ger bara en skanning.
Varning: Uppdatera pluginet
Ta backup först. Byt sedan jaren och starta om. Migrationerna körs automatiskt vid start, före modulerna – loggraden Databas ansluten (N migrationer kördes) visar hur många som var nya. Bara EN NordGuild-jar får ligga i plugins/, annars laddas den gamla eller båda. Ändringar i config.yml och sv.yml kräver ingen omstart, bara /nordguild reload, och nya nycklar fylls automatiskt på från jaren; databasinställningar och nya migrationer kräver full omstart. Kö-pluginen uppdateras på samma sätt, NordGuildKo på proxyn och NordGuildVantrum på väntrummet, och kön kan laddas om med /köadmin ladda. Rulla bara tillbaka till en äldre jar om inga nya migrationer kördes – har schemat ändrats måste databasen återställas från dumpen som togs före uppdateringen.
Startordning efter en omstart av hela maskinen
PostgreSQL först, sedan huvudservern och väntrummet, sist proxyn. Proxyn klarar att huvudservern är nere – kön går då i sondläge – men pluginet stänger av sig om databasen saknas.
Varning: Backup varje natt 03:15
Rutinen tar världarna och en pg_dump och sparar fjorton dagars historik. Snabba ögonblicksbilder inifrån spelet får du med /nordguild backup db och /nordguild export allt. Testa återställningen minst en gång – en backup du aldrig läst tillbaka är en förhoppning, inte en backup. Återställ alltid världarna och databasen från samma tidpunkt, annars kommer föremål i kistor och pengar i databasen i otakt.
Pluginets egna loggrader
De börjar med [NordGuild]. Ett modulfel vid start ser ut så här: Modul <namn> kunde inte aktiveras – stänger av pluginet. Det FÖRSTA felet i loggen är orsaken.