KSA Multiplayer v0.4.0 — Windows
================================

Requires Kitten Space Agency v2026.8.19.5261.
The server additionally requires the .NET 10 runtime.

The client and the server must both be on v0.4.0. The wire format changed
since 0.2.1, and a mismatched client is refused at join with a message saying
which version the server runs.

Most people want KSA-Multiplayer-Setup-v0.4.0.exe from the release page
instead of this archive. The installer handles the StarMap loader and a
private .NET runtime for you. This archive is the manual route, and the only
route if you want to run a server.


CLIENT (manual)
---------------

Copy the "Content\Multiplayer" folder into your KSA installation:

    C:\Program Files\Kitten Space Agency\Content\Multiplayer\

so that you end up with:

    ...\Kitten Space Agency\Content\Multiplayer\Multiplayer.dll
    ...\Kitten Space Agency\Content\Multiplayer\mod.toml

Start the game. The multiplayer panel appears beside the HUD.


SERVER
------

The server holds no KSA assemblies of its own. It finds your game
installation at startup and loads the game's managed assemblies from there,
so it has to be told where the game is. Any one of these works, in order of
precedence:

    RunServer.cmd -gamepath "C:\Program Files\Kitten Space Agency"
    set KSA_PATH=C:\Program Files\Kitten Space Agency
    "gamePath": "C:\\Program Files\\Kitten Space Agency"   in server_config.json

Then run RunServer.cmd.

Note that it calls the 64-bit dotnet.exe by full path from
C:\Program Files\dotnet. The "dotnet" on PATH is often the x86 build in
Program Files (x86), which has no .NET 10 runtime.

Type "help" at the prompt for the console commands. Ctrl+C shuts it down
cleanly.

Edit server_config.json to change the port, player limit, password, message
of the day, or craft sharing. Set "HostPlayerName" to your player name if you
want your own name starred in everyone's player list.

If you open the server to the internet, forward UDP 7777.


TROUBLESHOOTING
---------------

Logs are written to a "logs" folder beside the mod and beside the server.
Debug logging is on by default; the multiplayer panel has a checkbox for it.

Program Files is not writable by an unelevated game, so if the mod cannot
write there it falls back to a writable location. The multiplayer panel's
debug section shows where it landed.

If you report a problem, please include the mod version from BOTH machines,
the logs from both clients, and the server console output. Most of the
interesting bugs come from two players being at different points in time, so
say who was flying what and whether anyone was time warping.

    https://github.com/racerx2/KSA-Multiplayer-Mod/issues


LICENCE
-------

PolyForm Noncommercial License 1.0.0 — see LICENSE.
Free for any noncommercial purpose. Commercial use requires a separate
licence from the author.
