se-dev-server-code

SKILL.md

SE Dev Server Code Skill

Allows reading the decompiled C# code of the Space Engineers Dedicated Server. The "game logic" of the server is largely the same as the game (client) is running. The entry point (main executable), some aspects of logging and configuration differ. Also, some of the libraries are not used by the server, but they may still present to provide the necessary data structures and some backend functionality.

⚠️ CRITICAL: Commands run in a UNIX shell (busybox), NOT Windows CMD. Use bash syntax!

Examples:

  • test -f file.txt && echo exists
  • ls -la | head -10
  • if exist file.txt (echo exists) - This will NOT work

Actions:

  • prepare: Run the one-time preparation (Prepare.bat)
  • bash: Run UNIX shell commands via busybox
  • search: Run code searches using search_code.py
  • test: Test this skill by running test_search.bat

Routing Decision

Check these patterns in order - first match wins:

Priority Pattern Example Route
1 Empty or bare invocation se-dev-server-code Show this help
2 Prepare keywords se-dev-server-code prepare, se-dev-server-code setup, se-dev-server-code init prepare
3 Bash/shell keywords se-dev-server-code bash, se-dev-server-code grep, se-dev-server-code cat bash
4 Search keywords se-dev-server-code search, se-dev-server-code find class, se-dev-server-code lookup search
5 Test keywords se-dev-server-code test, se-dev-server-code verify, se-dev-server-code check test

Getting Started

⚠️ CRITICAL: Before running ANY commands, read CommandExecution.md to avoid common mistakes that cause command failures.

If the Prepare.DONE file is missing in this folder, you MUST run the one-time preparation steps first. See the prepare action.

During preparation the current game version is stored into CodeIndex/game_version.txt.

Essential Documentation

Code Search Documentation

Quick Search Examples

# Find class declarations
uv run search_code.py class declaration MyCubeBlock

# Find method signatures
uv run search_code.py method signature UpdateBeforeSimulation

# Find class hierarchy
uv run search_code.py class children MyTerminalBlock

# Count results before viewing (useful for large result sets)
uv run search_code.py class usage MyEntity --count

# Limit number of results
uv run search_code.py class usage MyEntity --limit 10

# Paginate through results
uv run search_code.py class usage MyEntity --limit 10 --offset 0
uv run search_code.py class usage MyEntity --limit 10 --offset 20

Always check the server code when:

  • You're unsure about the server's internal APIs and how to interface with them.
  • The inner workings of the Space Engineers Dedicated Server is unclear.

Custom Scripting

For building your own utility scripts to work with the indexes and decompiled code:

Server Content Data

The textual part of the server's Content is copied into the Content folder for free text search:

  • Language translations, including the string IDs
  • Block and other entity definitions
  • Default blueprints and scenarios
  • See ContentTypes.md for the full list of content types

Running the Dedicated Server

The server executable is SpaceEngineersDedicated.exe in the DedicatedServer64 folder.

Headless Mode (No UI)

SpaceEngineersDedicated.exe -console

This bypasses the Telerik WinForms configuration UI and runs the server directly.

Configuration

The server is configured via XML files. The primary configuration file is SpaceEngineers-Dedicated.cfg located in the server's AppData directory (typically %APPDATA%\SpaceEngineersDedicated\).

Key configuration areas:

  • Server settings (name, world, mods, max players)
  • World settings (game mode, inventory size, welding speed)
  • Network settings (port, public/private)

Configuration should be done by editing the XML files directly or with utility Python scripts. See below for planned utilities.

Planned Utility Scripts (Not Yet Implemented)

  • config_editor.py — Read and modify SpaceEngineers-Dedicated.cfg values from the command line (e.g. set server name, max players, world name)
  • world_manager.py — List, backup, and manage saved worlds in the server data directory
  • mod_manager.py — List and validate mods referenced in the configuration

Server-Only Assemblies

Assembly Description
SpaceEngineersDedicated Server entry point (replaces SpaceEngineers.exe)
VRage.Dedicated Dedicated server framework, lifecycle, and configuration
VRage.RemoteClient.Core Remote client support (RCON-like functionality)

General Rules

  • In the Decompiled folder search only inside the C# source files (.cs) in general. If you work on transpiler or preloader patches, then also search in the IL code (.il) files.
  • In the Content folder search the files appropriate for the task. See ContentTypes.md for the list of types.
  • Do not search for decompiled server code outside the Decompiled folder which is at the same level as this skill file. The decompiled server source tree must be there if the preparation succeeded.
  • Do not search for server content data outside the Content folder which is at the same level as this skill file. The copied server content must be there if the preparation succeeded.

Action References

Follow the detailed instructions in:

Remarks

The original source of this skill: https://github.com/viktor-ferenczi/se-dev-skills

Weekly Installs
9
GitHub Stars
2
First Seen
Feb 21, 2026
Installed on
opencode9
gemini-cli9
github-copilot9
codex9
amp9
kimi-cli9