You grow by living the part
Your character runs on four stats: Strength, Intelligence, Constitution, Dexterity. Strength governs what you can carry, how heavy a bow you can draw, and how hard you hit in melee. Dexterity governs aim, attack speed, evasion, and the finesse weapons. Constitution governs your health and how well you weather injury, disease, and the wilderness. Intelligence is the magic stat: it sets how efficiently you cast, how complex a spell you can hold together, how fast you learn, and how much every spell actually does.
Everyone starts low. All four stats begin at 8, a fresh adult and nothing more. From there they rise only one way: by use. Haul ore and timber and Strength climbs. Survive poison, disease, and hard weather and Constitution climbs. Craft and cast and Intelligence climbs. Dodge, climb, and land difficult shots and Dexterity climbs. There is no skill tree to spend, no level-up screen, and no respec. You become a strong character by living like one.
The arc runs from 8 to 40, and 40 is the cap. Every +10 of a stat doubles your effective power. The early climb from 8 happens naturally during ordinary play. The top end does not. Reaching 40 in anything is the work of a character's whole life, and a maxed stat tells you how that character lived.
Character creation is one choice you make once. All four stats start at 8, and you spend a small starting budget across them; any one stat can sit anywhere from 8 to 14 at the start. That is the only allocation you ever get. There is no second pass and no undo, so the character you make at the start is the character you grow from.
Growth is built to reward range, not repetition. Chopping the same tree for hours pays less and less. A challenge that is well below you pays nothing at all. What moves your stats is varied work and real danger: a harder fight, a survival ordeal, a shot that mattered. The fastest way up is to live a full and risky life, not to grind one safe action.
Gear sharpens what you do; it never touches who you are. A weapon or a piece of armor can raise your secondary stats (your moment-to-moment combat and survival numbers) and an item's output scales off the primaries you have earned, but no item ever raises Strength, Intelligence, Constitution, or Dexterity. There is no stat-stick gear. The best sword in the world makes you fight better; it does not make your character stronger.
Loot runs in tiers, D through S. A higher tier carries a bigger budget of bonuses, better scaling, and tougher durability, and the top tier can carry a special identity all its own. Different weapon types lean on different stats, too, so a heavy axe, a dagger, a bow, and a staff each reward a different build.
You become a strong character by living like one.
The stat core is built and lives in the Rust server. PlayerStats holds the four primaries as real fields, starting at 8 with a cap of 40 (STAT_START and STAT_CAP consts). The scaling curve is a pure, unit-tested function, effective_power(stat), that doubles a stat's effective power every ten points. Health and mana pools derive from it: max_health() scales off Constitution and max_mana() off Intelligence, both tested. Pools refill on creation and clamp into range on load.
Character creation is server-authoritative and genuinely one-shot. The client submits four absolute target values (each 8 to 14); the server validates them with anti-exploit gates (below-base, above-cap, bad-total, already-allocated, already-grown), applies them once, refills the pools, and sets a one-way creation_spent flag. Absolute values, not deltas, so a stat can never be pushed under its base. In database mode the one-shot is arbitrated by a conditional UPDATE ... WHERE creation_spent = false, the cross-session source of truth. A second login for an account evicts the first, so there is one live session per account and two divergent sessions can never both save and clobber each other. The whole player record (stats, name, appearance) persists in Postgres with idempotent migrations and a RAM fallback for dev and CI.
The client never sees the tuning. A StatsView projection structurally omits the internal progression bookkeeping before anything goes over the wire, proven in tests by serializing the view and confirming the omitted fields are absent. Name and appearance are validated and wired into the same creation handler.
The interesting part of the design is the part that is not live yet. Use-based growth is fully written and unit-tested in stats.rs (grant_xp and xp_for_next exist and pass), but it is marked dead code and no gameplay path calls it: nothing awards XP, because the XP sources (combat, activities) have not landed. So progression-from-use is specified and proven in isolation, not running. The design problems it solves are the ones worth calling out: use-based XP with diminishing returns, so repeating one action falls off while varied and dangerous work stays valuable; no-stat-stick gear, where equipment touches only secondary stats and scales off primaries it can never raise; and weapon-type-specific scaling, where each weapon class weights the primaries differently, which is how four stats carry the whole game with no extra primaries. Secondary stats beyond health and mana, live pool consumption and regeneration, gear, and any magic effects are documented design with no implementing code today.
- Four primaries (STR/INT/CON/DEX) are a real PlayerStats struct in the Rust server, starting at 8, capped at 40.
- effective_power(stat): a pure, unit-tested function that doubles a stat's effective power every 10 points; drives the health and mana pools.
- Health derives from Constitution, mana from Intelligence; both built and tested, with pools clamped on load and refilled on creation.
- Character creation is one-shot and server-authoritative: absolute 8-to-14 values, anti-exploit gates, a one-way creation_spent flag, and a conditional UPDATE as the cross-session arbiter.
- One live session per account: a second login evicts the first, so divergent sessions can never both save and clobber stats.
- Use-based growth (grant_xp, xp_for_next) is written and unit-tested but dead code: no XP sources call it yet, so progression-from-use is designed, not live.
- Gear, secondary stats beyond health and mana, pool consumption, and regen are documented design only; tuning numbers never ship to the client.
Primary stats
- Strengthcarry capacity and encumbrance, bow draw weight, melee damage
- Intelligencethe magic stat: casting efficiency, spell complexity, learning rate, and how much every spell does
- Constitutionhealth and stamina, and resilience to injury, disease, exposure, and fatigue
- Dexterityaim and accuracy, attack speed, evasion, and the finesse weapons
Secondary stats
- Healthhow much punishment you can take before you go down
- Manathe pool you spend to cast
- Accuracyhow reliably your attacks land
- Damagehow hard a landed hit lands
- Blockhow much incoming damage you turn aside
- Regenhow fast your pools recover between fights
Gear tiers
- DCommonstarter and salvage gear; a small edge over bare hands
- CCommonsolid working kit for most of the early game
- BUncommona real step up; gear worth going out of your way for
- ARaretop-end equipment that defines a capable build
- SVery Rarethe rarest tier, and the only one that can carry a special identity of its own