
Advanced Backups — Minecraft Java Edition 1.7.10 – 1.21.4
Avhengigheter: · Laster: Forge, NeoForge, Fabric, Quilt, Spigot, Paper · Minecraft-versjon: 1.7.10 - 1.21.4 · Mod-versjon: 3.7.1 Den…
Avhengigheter: · Laster: Forge, NeoForge, Fabric, Quilt, Spigot, Paper · Minecraft-versjon: 1.7.10 - 1.21.4 · Mod-versjon: 3.7.1 Den standardiserte sikkerhetskopieringsmekanismen i Minecraft Java Edition har alvorlige b
Avhengigheter:
· Laster: Forge, NeoForge, Fabric, Quilt, Spigot, Paper
· Minecraft-versjon: 1.7.10 - 1.21.4
· Mod-versjon: 3.7.1
Den standardiserte sikkerhetskopieringsmekanismen i Minecraft Java Edition har alvorlige begrensninger. I vanlig-spillet utføres oppretting av sikkerhetskopier manuelt via en meny, eller den krever at serveren stoppes for å kopiere filene. Disse operasjonene kjøres i spillets hovedtråd, noe som fører til blokkering av spillforløpet, lag eller midlertidig utilgjengelighet av serveren mens gigabyte med data skrives til disken. I tillegg oppretter standardmetoden kun fullstendige kopier av verdenen, og fyller raskt lagringsenheten med dupliserte data. Modifikasjonen Advanced Backups løser disse problemene ved å tilby asynkrone, planlagte sikkerhetskopier med støtte for differensielle og inkrementelle komprimeringsmodeller, fleksibel opprydding av utdaterte arkiver og et innebygd verktøy for gjenoppretting av data.
Sikkerhetskopieringsmekanismer: Zip, Differential og Incremental
Verktøyet tilbyr tre moduser for behandling av verdensfilene, som bestemmer balansen mellom utførelseshastighet, mengden brukt diskplass og påliteligheten ved gjenoppretting:
· Zip (fullstendige kopier): Virkemåten består i å arkivere hele verdensmappen i én enkelt .zip-fil. Denne metoden er den mest ressurskrevende og krever mest ledig plass på lagringsenheten, ettersom hver sikkerhetskopi inneholder alle filene uavhengig av om de er endret eller ikke. Fordelen er den enkle gjenopprettingen – det holder å pakke ut den nødvendige filen.
· Differential (differensiell sikkerhetskopiering): Baserer seg på opprettelsen av ett fullstendig basisarkiv ("full") og påfølgende delvise arkiver ("partial"). Delvise arkiver registrerer bare de filene som har blitt endret siden det fullstendige basisarkivet ble opprettet. Volumet av mellomliggende sikkerhetskopier reduseres betydelig. For å gjenopprette verdenens tilstand på et bestemt tidspunkt trengs bare to filer: det fullstendige basisarkivet og det siste delvise arkivet før denne datoen.
· Incremental (inkrementell sikkerhetskopiering): Bruker også konseptet med fullstendige og delvise arkiver. Hvert delvise arkiv inneholder imidlertid bare de endringene som har skjedd siden opprettelsen av det siste foregående delvise arkivet. Dette minimerer belastningen på disksubsystemet og sparer mest mulig ledig plass. Ulempen er en økt risiko for tap av data: hvis bare én eneste fil i kjeden av inkrementelle kopier blir skadet, vil det være umulig å gjenopprette de etterfølgende kopiene frem til opprettelsen av en ny fullstendig sikkerhetskopi. Gjenopprettingsprosessen er også den tregeste, ettersom den krever en sekvensiell sammenslåing av hele filkjeden.
Opprettelsen av nye kjeder styres av parameterne config.advancedbackups.chains.length og config.advancedbackups.chains.maxpercent. Den første parameteren bestemmer det maksimale antallet delvise kopier i en kjede før det tvinges frem opprettelse av et nytt fullstendig arkiv. Den andre parameteren utfører en størrelseskontroll: hvis volumet av akkumulerte endringer i et delvist arkiv overstiger den fastsatte prosentandelen av størrelsen på det fullstendige arkivet, nullstiller systemet automatisk kjeden og oppretter en ny fullstendig sikkerhetskopi.
System for automatisk opprydding (Purging) og arbeid med kjeder
For å forhindre at disken fylles opp, er tre kriterier for automatisk sletting av utdaterte data implementert i modifikasjonen:
· Etter antall oppbevaringsdager (config.advancedbackups.purge.days).
· Etter den totale størrelsen på sikkerhetskopimappen i gigabyte (config.advancedbackups.purge.size).
· Etter det totale antallet kopifiler (config.advancedbackups.purge.count).
Ved bruk av differensielle eller inkrementelle kopier er det umulig å slette enkeltfiler fra en kjede, ettersom dette ville bryte dataintegriteten. Modden opererer med hele kjeder (chains). En kjede regnes som utdatert og slettes bare når alle komponentene (inkludert den fullstendige basis-sikkerhetskopien og alle tilknyttede delvise arkiver) oppfyller oppryddingskriteriene. Ved hjelp av parameteren config.advancedbackups.purge.incrementalchains kan du angi det minste antallet fullstendige kjeder som systemet er forpliktet til å beholde, uavhengig av andre oppryddingsbegrensninger. I tillegg kan brukeren opprette "snapshots" (øyeblikksbilder) – dette er statiske kopier av verdenen som er beskyttet mot automatisk sletting.
Konfigurasjon av filen AdvancedBackups.properties
Driftsparameterne for sikkerhetskopieringssystemet lagres i filen AdvancedBackups.properties, som opprettes i katalogen config ved første oppstart. De viktigste konfigurasjonsnøklene:
Parameter | Standardverdi | Beskrivelse |
| true | Gjør det mulig å fullstendig aktivere (true) eller deaktivere (false) automatisk oppretting av sikkerhetskopier. |
| true | Bestemmer om verdenen må tvangslagres til disk før kopieringen utføres. |
| true | Deaktiverer standard automatisk lagring under opprettingen av kopien, og aktiverer den igjen etter at prosessen er fullført. |
| 1048576 | Størrelsen på inn-/ut-bufferen i byte. En verdi over RAM-grensen kan føre til en OutOfMemoryError-krasj. |
| false | Tvungen tømming av diskens skrivebuffer. Brukes ikke i Minecraft-versjoner eldre enn 1.16. |
| true | Sjekk av spilleraktivitet. Hvis det ikke har vært spillere på serveren siden forrige sikkerhetskopi, hoppes opprettingen av kopien over. |
| differential | Type sikkerhetskopier. Mulige verdier: zip (fullstendige kopier), differential (differensiell sikkerhetskopiering), incremental (inkrementell sikkerhetskopiering). |
| session.lock,*_old | Kommaseparert ekskluderingsliste for filer i verdensmappen som ikke legges til i arkivet (masker av typen * er tillatt). |
| ./backups | Bane til katalogen der de ferdige sikkerhetskopiene lagres (relativ eller absolutt). |
| 0.25 | Minste tillatte intervall mellom sikkerhetskopier i timer. Forhindrer duplisering. 0 – deaktivert. |
| 24.0 | Maksimalt intervall i timer, hvoretter sikkerhetskopien startes med tvang dersom det ikke har vært andre vellykkede kopier. |
| true | Grunnlag for planleggeren: beregning av serverens oppetid (true) eller operativsystemets reelle astronomiske tid (false). |
| 1:00 | Liste over intervaller for oppretting av kopier (for eksempel 1:00 for en sikkerhetskopi hver time, eller det nøyaktige reelle klokkeslettet 04:00,16:00). |
| false | Tvungen oppretting av en sikkerhetskopi av verdenen ved stopp eller avslåing av serveren. Respekterer grensen frequency.min. |
| false | Oppretting av en sikkerhetskopi av verdenen ved oppstart av serveren. Respekterer grensen frequency.min. |
| 30 | Forsinkelse av oppstartssikkerhetskopien i sekunder etter at serveren slås på. Minimumsverdien er 5 sekunder. |
| ops | Mottakerkategori for toast-varsler om arkiveringsprosessen i spillet (ops – operatører, all – alle, none – ingen). |
| 500 | Hyppigheten av sending av fremdriftspakker til spillerne i millisekunder. Lavere verdier øker nettverksbelastningen. |
| true | Tillatelse til å vise den detaljerte prosentvise arkiveringsfremdriften i serverens systemkonsoll. |
| 5000 | Intervall for logging av sikkerhetskopieringsforløpet til konsollen i millisekunder. |
| 50.0 | Grense for den totale størrelsen på kopimappen i gigabyte. De eldste kopiene slettes ved overskridelse. 0 – deaktivert. |
| 0 | Oppbevaringstid for sikkerhetskopier i dager. De eldre slettes. 0 – deaktivert. |
| 0 | Maksimalt tillatte antall kopier på disken. De eldre slettes. 0 – deaktivert. |
| true | Tillatelse til å slette inkrementelle kjeder ved opprydding etter volum. Hvis false, ryddes inkrementelle kopier aldri opp. |
| 1 | Minste antall inkrementelle kjeder som oppryddingen er forpliktet til å la stå igjen på disken under enhver omstendighet. |
| 4 | Komprimeringsnivå for ZIP-arkiver (fra 1 til 9). Høyere verdier sparer plass, men belaster CPU-en. |
| 50 | Maksimalt antall delvise sikkerhetskopier (differensielle/inkrementelle) før det opprettes et nytt fullstendig arkiv. |
| true | Tillatelse til å komprimere de fullstendige basiskopiene og de påfølgende mellomliggende kopiene inne i kjedene. |
| true | Intelligent nullstilling av kjeden. Hvis alle verdensfilene er endret, blir kopien automatisk fullstendig. |
| 50.0 | Grense for størrelsen på den delvise sikkerhetskopien i prosent av den fullstendige. Ved overskridelse opprettes en fullverdig sikkerhetskopi. |
Kommandoer for å administrere sikkerhetskopiering
Administrasjonen av modifikasjonen skjer ved hjelp av konsollkommandoer som krever operatørens tilgangsnivå (kommandoalternativene ble oppdatert i versjon 3.7 for bedre kompatibilitet med kommandoblokker ved å senke kravet til rettighetsnivå til verdien 2):
· /backup start — starter sikkerhetskopieringsprosessen i asynkron modus. Kommandoen tar hensyn til alle innstillinger for tidsplan, minimumsintervaller og spilleraktivitet.
· /backup force — starter kopieringsprosessen med tvang og ignorerer kontroller av spilleraktivitet og tidsgrensene frequency.min.
· /backup snapshot <name> — oppretter en fullstendig sikkerhetskopi (øyeblikksbilde) under det angitte navnet i undermappen snapshots. Dette arkivet tas ikke med i betraktning under automatisk opprydding av utdaterte sikkerhetskopier og slettes aldri automatisk av systemet.
· /backup reload-config — utfører en ny innlasting av parameterne fra filen AdvancedBackups.properties uten at det er nødvendig å starte serveren eller spillklienten på nytt. I mod-versjoner før 2.2 brukes den alternative kommandoen /advancedbackups reload.
· /backup check — analyserer den nåværende tilstanden til planleggeren og viser informasjon om hvor lang tid det er igjen til neste planlagte sikkerhetskopi i henhold til tidsplanen.
· /backup reset — nullstiller telleren for den nåværende kjeden av inkrementelle eller differensielle kopier. Den neste planlagte eller manuelt startede sikkerhetskopien vil bli tvunget opprettet som et fullstendig arkiv ("full").
Å senke tillatelsesnivået for kommandoene til verdien 2 gjør det mulig å automatisere oppretting av kopier ved hjelp av Command Blocks og tredjeparts planleggerplugins som kaller konsollkommandoer på vegne av serveren.
Konsollverktøy for gjenoppretting (Command Line Restoration)
Ettersom differensielle og inkrementelle sikkerhetskopier består av et stort antall innbyrdes sammenkoblede endringsfiler, er manuell gjenoppretting av dem en komplisert prosess. For å løse denne oppgaven er det innebygd et eget konsollverktøy i modifikasjonens JAR-fil.
Ved den første opprettingen av kopier genererer modifikasjonen automatisk hjelpeskript i katalogen med sikkerhetskopiene:
· restore-bootstrap.bat for operativsystemet Windows.
· restore-bootstrap.sh for operativsystemene Linux og macOS.
Disse skriptene starter gjenopprettingsveiviseren som er innebygd i JAR-filen. For å starte gjenopprettingsgrensesnittet manuelt via terminalen brukes kommandoen:
|
(navnet på JAR-filen må samsvare nøyaktig med versjonen av den installerte modden).
Verktøyets konsollgrensesnitt fungerer i interaktiv modus:
1. Start av skanningen av sikkerhetskopimappen for å analysere tilgjengelige kjeder og øyeblikksbilder.
2. Visning av listen over tilgjengelige gjenopprettingspunkter med angivelse av dato, klokkeslett og kopitype (Full, Diff, Inc).
3. Kontroll av integriteten til kjeden for det valgte arkivet. Hvis det er en inkrementell kopi, kontrollerer verktøyet automatisk om alle mellomliggende deler fra den fullstendige basis-sikkerhetskopien til det valgte punktet er til stede.
4. Forespørsel om målmappen for utpakking. Verktøyet vil utføre den sekvensielle sammenslåingen og erstatningen av filene, og rekonstruere den nøyaktige tilstanden til verdenen på tidspunktet den valgte kopien ble opprettet.
Før gjenopprettingen startes, er det nødvendig å stoppe Minecraft-serveren fullstendig. Et forsøk på å gjenopprette filer på en kjørende server vil føre til skade på verdensdatabasen og regionsfilene (.mca).
Særtrekk ved drift på ulike plattformer og optimalisering
Modifikasjonen har arkitektoniske forskjeller avhengig av den valgte installasjonsplattformen:
· Toast-varsler på klientsiden: Visuelle pop-up-varsler om start og fullføring av opprettelsen av sikkerhetskopien er realisert via det vanlige toast-systemet. For at de skal vises på klientsiden, må en kompatibel mod (Forge, NeoForge eller Fabric) være installert. Ved bruk av modden på Spigot- eller Paper-servere vil klienter uten den installerte modden ikke se visuelle varsler, men kun motta vanlige tekstmeldinger i chatten, dersom det er tillatt av logginnstillingene.
· Versjon 1.7.10: På grunn av tekniske begrensninger i eldre versjoner av spillmotoren støtter mod-versjonen for Minecraft 1.7.10 ikke systemet med grafiske toast-varsler. I stedet vises kopieringsfremdriften direkte oppå spillskjermen i form av et enkelt tekstoverlegg.
· Kontroll av tildeling av RAM: Den asynkrone komprimeringsoperasjonen krever tildeling av minnebuffere i JVM. Hvis det på en server med begrenset mengde RAM (for eksempel 2-4 GB) angis en for stor verdi for parameteren config.advancedbackups.buffer (mer enn 10-20 MB) og et høyt komprimeringsnivå config.advancedbackups.zips.compression (nivå 8-9), kan dette utløse overflyt av heapen (JVM Heap) og en uventet avslutning av serveren med feilen OutOfMemoryError. For stabil drift på servere med begrensede ressurser anbefales det å beholde standard bufferstørrelse på 1 MB og et komprimeringsnivå som ikke er høyere enn 4.
Konklusjon
Advanced Backups er en omfattende verktøyløsning for å sikre bevaring av spillverdener i Minecraft Java Edition. I motsetning til enkle alternativer som Simple Backups eller vanlig-verktøyene lar denne modden deg sette opp en fullverdig sikkerhetskopieringsstrategi med minimalt forbruk av diskplass takket være bruken av inkrementelle kjeder. Den viktigste begrensningen ved modifikasjonen er fraværet av innebygde skyleverandører for automatisk opplasting av arkiver til eksterne lagre (for eksempel Google Drive eller FTP-servere direkte fra modden), noe som krever konfigurasjon av eksterne skript for synkronisering av mappen ./backups. Modifikasjonen anbefales for installasjon på offentlige og private servere av middels størrelse, der det er kritisk viktig å sikre beskyttelse mot tap av data uten å stoppe spillforløpet.
Installasjon
En typisk installasjon tar omtrent 5 minutter. Flyten er den samme; bare Loader og den matchende builden er forskjellige.
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.








