Mods / HardcoreLogOff

Tags: #Tweak
Author: Teknik
Side: Server
Created: Nov 4th at 1:42 AM
Last modified: Nov 4th at 1:47 AM
Downloads: 22
Follow Unfollow 11

Recommended download (for Vintage Story 1.21.5):
HardcoreLogOff_0.0.1.zip  1-click install


🌍 Server Side only mod 🌍

πŸ€– Mod created with AI πŸ€–

βš™οΈ For Players

  • Disconnecting doesn’t make nearby mobs instantly disappear.

  • When you log back in, creatures that were close to you may still be around.

  • Be careful — some drifters may switch from standing to crawling (I’ll try to fix this in a future update).


πŸ› οΈ For Server Admins

  • The mod currently operates entirely in memory (no disk persistence).

  • Snapshots are automatically taken when a player disconnects and restored when someone re-enters the same area.

  • Should be compatible with large servers — no noticeable lag spikes during capture or restore.

  • Server logs display detailed zone and snapshot events for debugging or fine-tuning.

  • Note: All snapshots are lost when the server restarts.

  • Compatibel whether "PassTimeWhenEmpty" is enabled or disabled.

🚧 Development Notes

This is an early version, tested so far only on a small 3-player server.
Future updates will include:

  • βœ… Scheduled hard-saves at defined times (e.g. before automatic restarts).

  • βœ… Post-restart restoration of saved snapshots.

  • πŸ”„ Restoration of mob skins and crawling state (if technical API access allows).


πŸ“œ Disclaimer

This mod is experimental and designed for enthusiasts who want a more immersive, unforgiving world.
Use it at your own risk — feedback and reports are welcome to help refine the next versions.

πŸ”§Config file :
Spoiler!
πŸ“œ Default configuration (HardcoreLogOffConfig.json)

You can add custom creatures too.

{
  "ConfigVersion": "1.0.0",

  "ZoneSizeBlocks": 128,                  // Size (blocks) of a "zone" used to group snapshots logically.
                                          // Larger zones = less memory, but less precise restoration.

  "CaptureRadiusBlocks": 48,              // Radius (blocks) around the player to capture mobs on disconnect.

  "RestoreDelayMsAfterJoin": 100,         // Wait (ms) before restoring after a player joins (let chunks load).
  "RetryIntervalMs": 333,                 // Interval (ms) between restore retries if chunks aren't ready.
  "MaxRestoreAttempts": 3,                // Max retries before giving up.

  "ChunkRadiusPin": 2,                    // Temporarily keep a 2-chunk radius loaded during/after restore.
  "ForceRestoreIfStillNotReady": true,    // Force restore even if some chunks aren't fully ready.
  "KeepPinnedAfterRestoreMs": 5000,       // How long (ms) chunks stay pinned after restore.

  "SnapshotTtlMinMinutes": 120,           // Minimum lifetime (in minutes) before a snapshot expires. The actual lifetime is chosen randomly between this value and SnapshotTtlMaxMinutes. Can be the same as Max if you want a fixed duration.
  "SnapshotTtlMaxMinutes": 360,           // Maximum lifetime (in minutes) before a snapshot is discarded. The actual expiration time is randomized between Min and Max.

  "GraceSecondsAfterRestore": 0,          // Cooldown (s) before the same zone can be snapshotted again.

  "UseMaxMobs": true,                     // Limit how many mobs a snapshot can store.
  "MaxMobsSave": 60,                      // Max mobs saved per snapshot (ignored if UseMaxMobs=false).

  "SavePrefixes": [                       // What to CAPTURE at disconnect (snapshot set).
    "drifter", "shiver", "bowtorn", "locust", "bell"
  ],

  "TargetRestorePrefixes": [              // What to RESTORE when re-entering the zone.
    "drifter", "shiver", "bowtorn", "locust", "bell"
  ],

  "PresenceTriggers": [                   // What TRIGGERS a restore if detected in the zone.(Do nothing for now you can ignore)
    "locust", "bell"
  ],

  "ExcludePrefixes": [                    // Never captured nor restored (always ignored).
    "locust-hacked"
  ],

  "VerboseLogging": false                 // Detailed server logs: zones, counts, timings, etc.
}

Lists explained

  • SavePrefixes — which mobs are captured in the snapshot when a player disconnects.
  • TargetRestorePrefixes — among captured mobs, which ones are actually respawned on re-entry.

Mod Version For Game version Downloads Released Changelog Download 1-click mod install*
0.0.1 22 Nov 4th at 1:47 AM HardcoreLogOff_0.0.1.zip 1-click install
  • Initial release

1 Comments (oldest first | newest first)

💬 Laguna, Nov 7th at 1:42 PM

That's a great idea! I'm going to implement it on my server :)

 (edit comment delete)