## Setting up code https://docs.spacestation14.io/getting-started/dev-setup ### Dependencies - dotnet@6.0.x - python@>=3.5 ### Start up dev env `py .\RUN_THIS.py` which installs all submodules and builds the client/server binaries via dotnet ### IDEs #### Visual Studio Remember to set up to launch multiple targets - See Solution Explorer - See top solution parent. Right click it and see "Set Startup Projects" - Select Start for both "Content.Client" and "Content.Server" as Startup Projects #### Visual Studio Code Launch configuration inside `.vscode\launch.json`. Just run and debug ## Mapping https://docs.spacestation14.io/en/content/mapping - Map editor is baked into the client itself. Launch it and enter the station (NSSPillar). - Use the tilde key (when opening the escape menu) to open the drawer console. - `loc` will print the current map ID - `mapping `. I have no idea what `` is, but it is being created at runtime and it can't be used for maps that are currently running. So keep incrementing `` until the console does not print a `Map {$mapId} already exists` log entry. The station that the player spawns in seems to be `/Maps/nss_pillar.yml` - Once you hear the Minecraft / Software Inc style BGM play, this means mapping mode is activated - F5 to open Entity Spawn Panel - Mouse3 (Middle Mouse) to rotate the entity easily. To rotate entities already placed in the world, right click the placed entity, Debug > View Variables. Under Server Variables, find the `localRotation` (not the one with the leading underscore) property and set the angle in deg. - `savemap ` will save it in `.bin/***`. Overriding the map didn't work in my case so there is no easy way to edit the map. Just save it, then replace the map file (e.g. `savemap 1 saltern.yml` inside the SS14 client, then `rm Resources/Maps/saltern.yml && mv bin/Content.Server/data/saltern.yml Resources/Maps/saltern.yml`) - `rmmap ` will remove the map it is being loaded on