You are viewing a potentially older version of this package. View all versions.
H4nz0-HardheimTimedSave-1.4.1 icon

HardheimTimedSave

Scheduled Valheim world saving, backups and restart support with client-side character position save before restart.

Date uploaded 2 weeks ago
Version 1.4.1
Download link H4nz0-HardheimTimedSave-1.4.1.zip
Downloads 48
Dependency string H4nz0-HardheimTimedSave-1.4.1

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2105 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2105

README

Hardheim Timed Save

🇭🇺 Magyar

Automatikus szerver mentési és backup rendszer Valheimhez.

⚠️ 1.4.0-tól a mod kliens oldalon is szükséges! A karakter pozíció mentés miatt minden játékosnak telepítenie kell.

Funkciók

  • Pontos időpontokban történő mentés (nem időközönként)
  • Időzóna támogatás (UTC, CET, CEST, Europe/Budapest)
  • Játékon belüli figyelmeztetés mentés előtt
  • Harc érzékelés (harc közben halasztja a mentést)
  • Automatikus biztonsági mentések (backup)
  • ZIP vagy mappa alapú backup
  • Backup rotáció (keepLast)
  • Backup késleltetés állítható (delaySeconds)
  • Discord webhook támogatás (siker / hiba / restart / online)
  • 🌍 Világnév megjelenítése webhookban
  • 🕒 Időzített szerver restart
  • 👢 Játékosok automatikus kirúgása restart előtt
  • Többlépcsős értesítések:
  • restart figyelmeztetés
  • kick előtti üzenet
  • végső üzenet
  • Szerver online webhook (csak egyszer indulás után)
  • Kommentált YAML konfiguráció (könnyen érthető)

Konfig példa

timezone: "Europe/Budapest"

saveTimes:
  - "23:55"

backup:
  enabled: true
  zip: true
  keepLast: 3
  delaySeconds: 2

restart:
  enabled: true
  restartTimes:
    - "04:00"
secondsBefore: 60
kickPlayersBeforeRestart: true
kickBeforeSeconds: 30
kickMessage: "Játékosok kirúgása a szerverről, újraindítás miatt"
kickMessageLeadSeconds: 2

timezone: "Europe/Budapest"

saveTimes:
  - "23:55"

backup:
  enabled: true
  zip: true
  keepLast: 3
  delaySeconds: 2

restart:
  enabled: true
  restartTimes:
    - "04:00"
  secondsBefore: 60
  kickPlayersBeforeRestart: true
  kickBeforeSeconds: 30
  kickMessage: "Játékosok kirúgása a szerverről, újraindítás miatt"
  kickMessageLeadSeconds: 2

Megjegyzés

  • A mod MOST MÁR kliens oldalon is szükséges
  • ⚠️ A játékosoknak is telepíteni kell (ugyanazt a verziót)
  • Ez szükséges a karakter pozíció mentéséhez restart előtt
  • A játék eredeti save parancsát nem módosítja
  • Backup csak az automatikus mentések után készül

❗ Fontos

  • A mod csak leállítja a szervert
  • A szerver újraindítását külső eszközzel kell megoldani
    • pl. systemd, screen, tmux, vagy .bat script
  • Frissítés után a config fájlt törölni kell
  • Új beállítások kerültek bele
  • A config automatikusan újragenerálódik

🇬🇧 English

Automatic scheduled server saving and backup system for Valheim.

⚠️ Since version 1.4.0 this mod requires client installation! All players must install it to ensure proper character position saving.

Features

  • Scheduled saves at exact times (not intervals)
  • Timezone support (UTC, CET, CEST, Europe/Budapest)
  • In-game warning before save
  • Combat detection (delays save if players are fighting)
  • Automatic backups
  • ZIP or folder-based backups
  • Backup rotation (keepLast)
  • Configurable backup delay (delaySeconds)
  • Discord webhook support (success / error / restart / online)
  • 🌍 World name included in webhook
  • 🕒 Scheduled server restart
  • 👢 Automatic player kick before restart
  • Multi-stage notifications:
  • restart warning
  • kick message
  • final message
  • Server online webhook (sent once after startup)
  • Commented YAML config (easy to understand)

Config example

timezone: "Europe/Budapest"

saveTimes:
  - "23:55"

backup:
  enabled: true
  zip: true
  keepLast: 3
  delaySeconds: 2

restart:
  enabled: true
  restartTimes:
    - "04:00"
  secondsBefore: 60
  kickPlayersBeforeRestart: true
  kickBeforeSeconds: 30
  kickMessage: "Players are being kicked due to server restart"
  kickMessageLeadSeconds: 2

Notes

  • The mod now REQUIRES client-side installation
  • ⚠️ All players must install the same version
  • This is required for proper character position saving before restart
  • Does NOT override the game's save command
  • Backups are only created after scheduled saves

❗ Important

  • This mod only shuts down the server
  • Restart must be handled externally
    • e.g. systemd, screen, tmux, or .bat script
  • You must delete your config file after updating
  • New config options were added
  • Config will regenerate automatically

CHANGELOG

Changelog

1.4.1

🇭🇺 Magyar
  • Javítva egy hibásan csomagolt YAML config, ami megakadályozhatta a mod betöltését.
  • ⚠️ FONTOS: Frissítés után töröld ezt a fájlt:
    BepInEx/config/hardheim.timedsave.yml
    A mod új, működő configot fog automatikusan létrehozni.
🇬🇧 English
  • Fixed a broken packaged YAML config that could prevent the mod from loading.
  • ⚠️ IMPORTANT: After updating, delete this file:
    BepInEx/config/hardheim.timedsave.yml
    The mod will automatically generate a fresh working config.

1.4.0

🇭🇺 Magyar

⚠️ FONTOS

  • A karakterpozíció mentéséhez ezt a verziót a szerverre és a kliensekre is telepíteni kell
  • A szerver továbbra is egyedül vezérli az időzített mentést és restartot
  • A kliens oldali config nem indít mentést vagy restartot

✨ Újdonságok

  • 🧍 Kliensoldali karakterpozíció mentés restart előtt
  • 📡 Szerver → kliens RPC jelzés hozzáadva karaktermentéshez
  • 💾 Restart előtt a kliens meghívja a saját karaktermentését (SavePlayerProfile)

🔧 Fejlesztések

  • Server-only védelem az időzített mentéshez és restarthoz
  • A kliens oldalon csak az RPC fogadás és karaktermentés fut
  • Csökkentve a szerver/kliens config eltérésből eredő hibalehetőség
  • Pontosabb logolás a karaktermentési folyamatnál

🐛 Hibajavítások

  • Javítva a restart utáni karakterpozíció rollback
  • A kliens configból véletlenül induló mentés/restart megakadályozva
  • Stabilabb restart előtti játékosmentési folyamat
🇬🇧 English

⚠️ IMPORTANT

  • This version must be installed on both the server and clients for character position saving
  • The server remains the only authority for scheduled saves and restarts
  • Client-side config does not trigger saves or restarts

✨ Features

  • 🧍 Client-side character position save before restart
  • 📡 Added server → client RPC request for character saving
  • 💾 Client now saves its own character profile before restart (SavePlayerProfile)

🔧 Improvements

  • Added server-only guards for scheduled save and restart logic
  • Client side now only handles RPC receiving and character saving
  • Reduced issues caused by different server/client config values
  • Improved logging around the character save process

🐛 Fixes

  • Fixed character position rollback after server restart
  • Prevented accidental client-config-triggered saves/restarts
  • More reliable pre-restart player save flow

1.3.0

🇭🇺 Magyar

⚠️ FONTOS

  • Frissítés után a config fájlt törölni kell
  • Új beállítások kerültek bele
  • A config automatikusan újragenerálódik

✨ Újdonságok

  • 🕒 Időzített szerver restart
  • 👢 Játékosok automatikus kirúgása restart előtt
  • ⏱️ Kick időzítés (restart előtt X másodperccel)
  • 💬 Kick előtti külön üzenet
  • ⏳ Késleltetés az üzenet és a kick között (kickMessageLeadSeconds)
  • 🌍 Világnév hozzáadva webhook üzenetekhez
  • 📡 Szerver online webhook (egyszer indulás után)
  • 🔔 Többlépcsős restart értesítés rendszer

🔧 Fejlesztések

  • Webhook rendszer bővítve restart eseményekkel
  • Stabilabb restart folyamat
  • Save és restart ütközések kezelése
  • Config validáció javítva
  • Logolás pontosítva

🐛 Hibajavítások

  • Többször küldött "server online" webhook → javítva
  • Kick üzenet nem jelent meg → javítva
  • Webhook nem ment ki bizonyos esetekben → javítva
  • Régi interval logika maradványok → eltávolítva
  • Restart közbeni hibák → javítva
🇬🇧 English

⚠️ IMPORTANT

  • You must delete your config file after updating
  • New config options were added
  • Config will regenerate automatically

✨ Features

  • 🕒 Scheduled server restart
  • 👢 Automatic player kick before restart
  • ⏱️ Configurable kick timing (before restart)
  • 💬 Custom kick message
  • ⏳ Delay between message and kick (kickMessageLeadSeconds)
  • 🌍 World name added to webhook messages
  • 📡 Server online webhook (sent once after startup)
  • 🔔 Multi-stage restart notification system

🔧 Improvements

  • Extended webhook system (restart events)
  • More stable restart flow
  • Save/restart conflict handling improved
  • Better config validation
  • Improved logging

🐛 Fixes

  • Multiple "server online" webhooks → fixed
  • Kick message not visible → fixed
  • Webhook not sent in some cases → fixed
  • Old interval-based logic remnants → removed
  • Restart-related issues → fixed

v1.2.0

🇭🇺 Magyar
  • Új konfigurálható világmappa keresési rendszer
  • A backup most már több mappát is képes ellenőrizni (worldSearchPaths)
  • Hozzáadva az opcionális customWorldPath manuális útvonal megadásához
  • Automatikus világmappa felismerés több lehetséges hely közül
  • Javított kompatibilitás különböző szerverkörnyezetekkel (Windows/Linux/Docker)
  • Javított hiba kezelés, ha a világfájlok nem találhatók
  • Részletes logolás a világmappa keresés során

Webhook fejlesztések:

  • Javítva a Discord „Cannot send an empty message” hiba
  • Hiba esetén a válasz (response body) is naplózásra kerül
  • Embed üzeneteknél biztosított fallback content

Kód tisztítás:

  • Régi világmappa kereső eltávolítva
  • Duplikált using törölve
  • Általános stabilitási javítások
🇬🇧 English
  • Added configurable world folder detection system
  • Backup now supports multiple search paths via worldSearchPaths
  • Added optional customWorldPath for manual override
  • Automatically detects the correct world folder from multiple possible locations
  • Improved compatibility across different server environments (Windows/Linux/Docker)
  • Improved error handling when world files are missing
  • Added detailed logging for world folder detection

Webhook improvements:

  • Fixed Discord "Cannot send an empty message" error
  • Added response body logging for easier debugging
  • Ensured embeds always include fallback content

Code cleanup:

  • Removed unused legacy world folder detection method
  • Removed duplicate imports
  • General stability improvements

1.1.0

🇭🇺 Magyar

Új

  • Állítható backup késleltetés (delaySeconds)
  • Discord webhook támogatás (siker és hiba esetén)
  • ZIP és mappa alapú backup mód
  • Backup rotáció (keepLast)
  • Részletesebb YAML konfiguráció és magyarázat

Változás

  • A backup most már kizárólag az automatikus mentések után fut le
  • Stabilabb mentési és backup időzítés
  • Letisztultabb és egységesebb logolás

Eltávolítva

  • Egyedi save parancs kezelés
  • Chat parancsok
  • A játék eredeti save parancsának módosítása

Javítva

  • Backup túl korai futása (fájlok még nem voltak teljesen kiírva)
  • CompressionLevel névtér ütközés hiba
🇬🇧 English

Added

  • Configurable backup delay (delaySeconds)
  • Discord webhook support (success and error)
  • ZIP and folder-based backup modes
  • Backup rotation system (keepLast)
  • Improved and more detailed YAML configuration

Changed

  • Backups now run ONLY after scheduled automatic saves
  • More reliable save and backup timing
  • Cleaner and more consistent logging

Removed

  • Custom save command handling
  • Chat command support
  • Any modification of the game's original save command

Fixed

  • Backup running too early (files not fully written yet)
  • CompressionLevel namespace conflict

1.0.0

🇭🇺 Magyar

Első verzió

  • Időzített mentések fix időpontokban
  • Időzóna támogatás
  • Mentés előtti figyelmeztetés
  • Harc érzékelés (mentés halasztása)
  • Alap backup rendszer
  • YAML konfiguráció
🇬🇧 English

Initial release

  • Scheduled saves at fixed times
  • Timezone support
  • Pre-save warning message
  • Combat detection (delays saving)
  • Basic backup system
  • YAML configuration