Repository navigation
KCDS 1.0.3
KCDS 1.0.3.
KCDS 1.0.3
A redesigned main menu, voice chat keys in the game's own key bindings, logs that never fill the
disk, a large set of new script functions for fights, knock-outs, inventories and NPCs, and many
fixes asked for by server owners and players.
Servers and players both need 1.0.3: a client and a server of different versions refuse each other
when joining. The launcher updates itself on the next start; servers update from their update
channel, the new packages or the Docker image ghcr.io/kcd-synced/kcds-server:1.0.3.
Server owners: a server is no longer listed in the in-game server browser unless "master": "on"
is in its server.json (or KCDS_MASTER_URL is set). Add it before updating if your server must stay
listed; players can always join by address or a kcds:// link.
Main menu
- Redesigned server browser bar: World Architect and the Anim/Assets Studio are named buttons in
the top bar, with Join Discord; the bottom bar shows the chosen server (its art, name, players and
ping), the direct connect and one Connect button. - Joining by address (typed, or a kcds://join/ link) of a listed server shows its card while
connecting, as a join from the list does. - Tools: the menus of World Architect and the Studio take clicks again after another tool's
Leave (before, often only the camera moved); a double click on a tool's button no longer opens it
again after its Leave.
Voice chat
- Your own keys: Settings > Key bindings has a Voice chat group, Talk (push to talk) and Whisper,
normal or shout. The keys you choose are the same on every server. Saving no longer reports a
conflict with the game's own keys. - The voice indicator's bars follow your voice and lie flat while you are silent.
Logs
- A game's log holds at most 32 MB (then it continues in a new part) and the logs folder keeps the
20 newest files, 256 MB at most. - The Linux server writes
logs/server.logbeside start-server.sh, at most 20 MB per file and 5
files (KCDS_LOG_FILE,KCDS_LOG_MAX_MB,KCDS_LOG_FILES;offfor none). In Docker the
container's output stays the log: limit it with Docker's log options (see the docs).
Fixes
- Walking into a person no longer costs stamina, then health.
- Lock picking: a door that was picked open stays open (it could be picked again and again).
- Women: a worn bow, quiver, sword and held torch sit where they sit on a man.
- Blip labels show as plain text (no "@"), and a long action hint is no longer cut.
- Players stuck at Syncing resources: a big client file that was only touched on the server (a
git pull or a copy) is served again; a real change names the resource to restart. - Chat lag with many web pages open: the pages of one server share one browser process.
- NPCs no longer slide without their walking animation on the second map or without the
level's people. - Snow: no flakes inside buildings, and no bare yard beside a roof.
- Dead animals give the game's own yields until a server sets its own harvest table.
- World Architect AI: a prop put on the ground stands on its foot.
Scripting
- Fights and harm:
Player.startFight(opponent)with fight start and end events;
Player.knockOut({ health, keepEffects })and numbered knock-out episodes; the events
playerHarm(harm that is not another player's blow, refusable) andnpcHit(a hit on an NPC,
decided before it loses health);player.canReach(target, range)checks a target a client chose. - Inventories:
Inventory.beforeCommit(handler)makes players' own actions (pickup, drop, use,
shops, trade, containers, loot, horse gear) wait for the resources' verdict; the game's changes
reach the server in answered batches. - NPCs:
Npc.useObject(object, { place, side })lets an NPC sit, lie or work on placed smart
objects and the level's own seats, beds and work places, with the game's own animations;
SmartObject.levelPlaces(position, radius); hens as script animals (Npc.create({ class: 'Hen' })). - ActionMenu: two to six actions on one key, as one line of the game's hint, picked with the
mouse wheel. - Terrain:
Terrain.hideGrass(center, radius),Terrain.blockNavmesh(min, max)(World Architect's
buildings now close the navmesh under them), andTerrain.paintuses a game level's own materials. Stash.levelChests()rows carry the level entity's own name (sourceName).
World Architect
- To ground (G); a Shift group moves, turns and is deleted together; a Select drag picks a group in a
box; Ctrl+C keeps a copy that Ctrl+V puts down on another map; Decals (the game's 239 ground
decals); Tab hides the side panels for the whole world view.
Downloads (public):
Unpack the Client zip anywhere and follow its README.txt.