Mods / Vintage Aging

Tags:
Automation
Author:
Vahzen
Side:
Both
Created:
Jul 11th at 8:26 PM
Last modified:
3 days ago
Downloads:
223
Recommended download (for Vintage Story 1.22.3 - 1.22.7):
VintageAging_v1.9.3.zip  1-click install

This mod's code was written largely with AI assistance (Claude). The design,
mechanics and balance are mine: I decide what gets built, and every feature is
play-tested on a live server before release. Stating it here because I'd want to
know as a player or server owner.

If you'd like help or have questions: Support Discord

What This Mod Does


This mod gives every character a real, ticking in-game age tied to
the world calendar — and eventually, a real chance of dying of old age.
This mod is not intended for Singleplayer use at this time.

- Everyone ages together, online or not, as long as the server is
  running. There's no escaping the effects of time.
 
- Old age isn't a hard cutoff. (disabled by default) Once a character passes a configurable
  age, each new year rolls a survival chance instead of an automatic
  death. The odds shrink gradually the longer you push your luck — so
  characters get riskier to keep alive as they age, rather than just
  stopping dead on a fixed birthday.
 
- Two separate "life" pools (disabled by default) exist alongside aging: one for
  environmental deaths (mobs, falls, drowning, etc.) and a stricter one
  for PvP kills. Running out of either will trigger a permanent death for that character.
 
- Permanent death is a real fresh start. (disabled by default) Profile is wiped and you're
   walked through full character creation again to begin a new life. Disabled by default.
  (Inventory should be removed as well. Please report bugs you find. xSkills has not been tested, work is ongoing.
   Admins may need to manually reset this for now.)
 
- Server owners get full control. Every number; starting age,
  death-roll odds, how fast they decay, lives counts, whether "a year" is
  a real in-game year or sped up to a month, and more — is configurable.
         (Units besides years are still being tweaked ... use at your own risk.)
 
- Mid-Save Compatible. Server Owners can export all age numbers after installing
  the mod and edit the generated .csv with their own records and re-upload it to 
  have the mod start tracking from that point on. 
           (Please test this on another server before you try it on your main. I have done
           limited testing with 5-10 players but anything at a larger scale hasn't been
           tested yet. Please ask for help if you want it.)
 
- Nickname and Marriage. Marry other players! Once you marry, choose a family name that
  changes your last name. Recommend using this nickname over others if you want marriage
  to avoid conflicting with other mods. 
 
Configuration

Full config documentation ships with the mod (`playerAging_README.md`) —
every setting is explained, including defaults and what
each one actually changes. If you have recommendations on how to improve it,
please let me know. 
 
It is not recommended to enable the succession system and family systems at this time.
Initial implementation is still very buggy and is not recommended for server
play so enable them at your own risk. I will not help with bug reports for 
these features until they are ready for full use. 
 

Known Incompatibilities - PLEASE READ ME

Mod

Status

Workarounds

Downed & Dead

Resolved with v1.9.2 and above.

Results in a client crash. Working on a compatibility version. Issues is on VintageAging's end, not Downed's. 

 For versions earlier than 1.9.2: Leaving the life pool systems and rebirth systems off in the config remove the possibility of the issue appearing. 

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
1.9.3 playeragemod
1.22.3 - 1.22.7
17 3 days ago VintageAging_v1.9.3.zip 1-click install

1.9.3

  • Added a server-side permanent-death API so other mods can react when a character dies permanently. Otherwise completely identical in features and form to 1.9.2 - enjoy!
1.9.2 playeragemod
1.22.3 - 1.22.7
15 3 days ago VintageAging_v1.9.2.zip 1-click install

1.9.2

  • Permanent death now clears the previous character’s bed respawn point. Offline deaths queue this reset for the next login.
  • Permanent death clears the old nickname and immediately updates online nametags.
  • Improved chat-name handling to preserve message text and staff/supporter styling. Unsupported chat formats now generate a diagnostic warning that can be reported for future updates and bug squashing.
1.8.7 playeragemod
1.22.3 - 1.22.7
86 Aug 19th at 4:54 AM VintageAging_v1.8.7 VS v1.22.3.zip 1-click install

Vintage Aging 1.8.7

Changed

  • The mod now ships as "Vintage Aging", matching the Vintage Vampirism naming convention: modinfo.json's name is now Vintage Aging, the assembly is VintageAging.dll (was PlayerAgeMod.dll), the build output folder is bin/Debug/Mods/VintageAging/, and releases are packaged as VintageAging_vX.Y.Z.zip. The /aging and /agingadmin help descriptions read "Vintage Aging" too.
  • Nothing else was renamed. The modid is still playeragemod and the C# namespace is still PlayerAgeMod, so existing ModConfig/playeragemod.json configs, ModData/playeragemod/ logs, playeragemod.* privileges granted in server role configs, save data and Vintage Vampirism's hard dependency all keep working untouched - no migration needed on existing servers.
  • Upgrade note for server owners: because the DLL and zip changed names, delete the old PlayerAgeMod zip/folder from the Mods folder when dropping the new one in - leaving both would load two copies of modid playeragemod.
1.8.6 playeragemod
1.22.3 - 1.22.7
17 Aug 19th at 12:14 AM PlayerAgeMod_v1.8.6 VS v1.22.3.zip 1-click install

Fixed some of the config options not sticking. The 'lives' system was still firing even if the config had it set to false. 

1.8.3 playeragemod
1.22.3 - 1.22.7
28 Aug 16th at 8:57 PM Empty VintageAging_v1.8.3_VS1.22.3.zip 1-click install
1.4.1 playeragemod 5 Jul 17th at 6:31 PM Release Retracted

Retraction Reason:

Obsolete Code.

Changelog:

1.1.4 playeragemod 7 Jul 11th at 11:06 PM Release Retracted

Retraction Reason:

Obsolete Code.

Changelog:

## 1.1.4

### Fixed
- The 1.1.2 duplicate-dialog guard could get permanently stuck: it was only ever cleared when the dialog successfully closed, so a player who disconnected before completing it (the exact pattern seen in every recent test) left the guard set forever, silently blocking every future rebirth attempt for that player until the next full server restart - confirmed live: five consecutive reconnects after redeploying 1.1.3 all logged `BeginRebirth ... skipped - already in flight`, none of them the original attempt. The guard is now also cleared on disconnect, since a disconnected player can't have anything genuinely outstanding.
1.1.3 playeragemod 8 Jul 11th at 10:57 PM Release Retracted

Retraction Reason:

Obsolete Code.

Changelog:

## 1.1.3

### Fixed
- Diagnosed via client-side logs (not just server logs) that the actual cause of the dialog "not triggering" was the client silently failing to load the mod at all: `[Error] Could not load file or assembly 'PlayerAgeMod, Version=1.0.0.0, ...'. Assembly with same name is already loaded`, followed by `Improperly configured mod. Server sends me channel name playeragemod, but no client side mod registered it.` The project never set an explicit assembly version, so every build shared the identical default identity (1.0.0.0) - if the game client was never fully restarted between test builds (only reconnected), .NET refuses to load the newer DLL over the already-resident older one, and the mod silently never registers its network channel. No dialog, no join message, nothing - total client-side silence, regardless of how correct the server-side logic is. Every fix in 1.1.0-1.1.2 was almost certainly correct but never actually running client-side during recent tests as a result.
1.1.2 playeragemod 9 Jul 11th at 10:49 PM Release Retracted

Retraction Reason:

Obsolete Code.

Changelog:

## 1.1.2

### Fixed
- Rebirth dialog could fire twice for the same pending rebirth - confirmed live via the new diagnostics added in 1.1.1: the client's "now playing" signal appears to re-fire after `BeginRebirth`'s own teleport-to-spawn triggers a fresh chunk load at the destination, re-entering the same code path a second time roughly a dozen seconds later while the first dialog was still outstanding, spawning a second competing dialog instance and leaving neither able to complete (so the player's selection was never applied and `PendingRebirth` stayed stuck true). Added a guard that skips re-sending the dialog while one is already outstanding for that player, clearing only once it actually closes.
1.1.1 playeragemod 6 Jul 11th at 10:41 PM Release Retracted

Retraction Reason:

Obsolete Code.

Changelog:

## 1.1.1

### Fixed
- Rebirth dialog reliability when a player reconnects to trigger a pending rebirth (rather than clicking "Respawn" while still connected): the dialog is now opened a short moment after join instead of instantly, avoiding a race with the client's own join/loading transition - the same class of timing issue previously fixed for the death-screen case. Best-effort fix based on code analysis; not yet confirmed against a live repro, since the reported test disconnected before respawning rather than clicking Respawn.
- Added server-log diagnostics (`BeginRebirth`, dialog-open send, dialog-closed receipt) around the rebirth sequence to make any further issues here directly diagnosable from `server-main.log` instead of guesswork.
1.1.0 playeragemod 9 Jul 11th at 10:27 PM Release Retracted

Retraction Reason:

Obsolete Code.

Changelog:

# Changelog

## 1.1.0

### Fixed
- Character re-selection after permanent death (rebirth) now actually applies. The vanilla character-creation dialog opened correctly, but the server was silently discarding whatever class/appearance the player picked, because a one-time vanilla permission flag (`allowcharselonce`) was never granted for a *returning* player - vanilla only auto-grants it for first-time character creation. Rebirth now explicitly grants it before opening the dialog.

### Changed
- Project now builds against .NET 10, matching the game's own assemblies as of Vintage Story 1.22.

## 1.0.1

### Added
- Initial public release, targeting Vintage Story 1.22.3.
1.0.1 playeragemod 10 Jul 11th at 10:07 PM Release Retracted

Retraction Reason:

Obsolete Code.

Changelog:

0.1.0 playeragemod
1.21.5 - 1.22.3
6 Jul 11th at 10:06 PM Release Retracted

Retraction Reason:

Obsolete Code.

Changelog:

Disclaimer

By downloading a mod you consent to our Terms of Use.

We tell you this specifically because we want to make sure you are aware that we cannot validate every mod, and you are responsible for any damages you might incur by installing or loading mods.

This prompt will not be shown to you again (for the current browser session) if you proceed.


4 Comments (oldest first | newest first) (threaded | flat)

Ixialune, Aug 18th at 11:10 PM

Do you have a discord or anything to discuss the mod?

Vahzen , Aug 19th at 12:12 AM
@Ixialune: Do you have a discord or anything to discuss the mod?

Hi lxialune, 

 

You can go here for now. https://discord.gg/j3xppj7np

Vahzen , Aug 20th at 12:15 AM
@Ixialune: The link is sadly expired

Use the one at the top of the page. They should be the same but it's possible they aren't as well.