Skip to content

KCDS 1.0.3

Choose a tag to compare

@github-actions github-actions released this 09 Nov 23:33
8da3f29

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.log beside start-server.sh, at most 20 MB per file and 5
    files (KCDS_LOG_FILE, KCDS_LOG_MAX_MB, KCDS_LOG_FILES; off for 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) and npcHit (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), and Terrain.paint uses 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.