KCDS 0.3.4.1
Joining from the launcher now goes through the KCDS menu, so a password-protected server asks for its password; two crash fixes, a clear message for a player on another KCDS version, clothes other players see, and new scripting features.
A 0.3.4.1 client plays on 0.3.4 servers and a 0.3.4 client on 0.3.4.1 servers. The version message is shown once the server runs 0.3.4.1. Download and install 0.3.4.1 once (the client zip or KCDS-Setup); from then on the launcher updates itself on every start.
Fixes
- Joining from the launcher shows the KCDS menu (#659). A player started by the launcher with a
server address (
serverAddressinkcds-launcher.json, orkcds-launcher.exe --connectfrom a community's own launcher) saw the game's single-player menu while the game connected in the background, and a server with a password could not be joined that way. The KCDS menu now shows and joins that server itself: the connecting screen, the password field when the server asks for one, the version message, and the server list after leaving. - No crash when a join is cancelled or refused after leaving a server (#661). After the player had left a server, cancelling the next join (or a server refusing it) could crash the game.
- A crash in the client's error handling is fixed (#644). When the game hit an error near the end of a thread's stack, the client's error report itself crashed the game.
- A player on another KCDS version is told so (#642). Joining a server that runs another
version used to end in a timeout. The server now answers with its version, and the server
browser offers the update (or says the server runs an older version), however the player
joined: from the list, by address or by a
kcds://link. - Clothes no longer vanish for other players (#621). While a body was being rebuilt (a respawn, a change of skeleton, a world load) the game could report no worn clothes for a moment, and other players then saw the player in underwear until they changed clothes again. Such a moment is no longer sent; taking clothes off still shows on everyone's screen.
- A press hint and a hold hint on one key both work (#662). With both on a key only the hold was shown and fired. Now both show; a short press runs the press hint and a full hold the hold hint, as the game's own prompts do.
- The password dialog no longer repeats the server's words under the menu's own text.
For server scripts
- Held props in the game's grip (#646):
playAnimationprops takeattach: 'game', which hangs the item on the hand's slot the way the game holds an item of its kind (by the model's grip point). - Props that rest in the world (#499): a prop's
restnames aPropthat lies in the world before and after the animation; the eventspropPickedUpandpropPlacedtell when the animation takes it and puts it down. - WebSocket in server scripts (#648), closed with the resource.
- PropGhost scale per axis (#677):
scaletakes a number or aVector3, increateandsetPose, asProp.spawndoes. - GroundItem.showOnlyTo (#683): a stack shown to one player only, who alone can take it up;
also the spawn option
visibleTo. - Follow.start(target, { hint, playerCanStop }) (#667): without the game's "Stop following" prompt, and a follow the player cannot end with a key.
- Vfx: an effect name the game's particle libraries do not have throws a
RangeError(#663). - Npc.create takes
brain,interactable,targetableandfightsBack(#684), so a figure can stand without a brain from its first frame. - TypeScript declarations name
WorldRayHit,AnimationInfoandAnimationPropInfo(#511).
Servers
- Node.js 26 LTS is recommended for the resource host (22 or newer still works); the Linux image runs Node.js 26.