Mods / Vintage Aging
- Tags:
- 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 Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 1.9.3 | playeragemod | 17 | 3 days ago | VintageAging_v1.9.3.zip | 1-click install | ||
1.9.3
| |||||||
| 1.9.2 | playeragemod | 15 | 3 days ago | VintageAging_v1.9.2.zip | 1-click install | ||
1.9.2
| |||||||
| 1.8.7 | playeragemod | 86 | Aug 19th at 4:54 AM | VintageAging_v1.8.7 VS v1.22.3.zip | 1-click install | ||
Vintage Aging 1.8.7Changed
| |||||||
| 1.8.6 | playeragemod | 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 | 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 | 6 | Jul 11th at 10:06 PM | Release Retracted | |||
Retraction Reason:Obsolete Code. Changelog: | |||||||

Do you have a discord or anything to discuss the mod?
Hi lxialune,
You can go here for now. https://discord.gg/j3xppj7np
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.