Space Engineers Dedicated Servers
Space Engineers Dedicated Servers

Mastering Your Space Engineers Server: A Comprehensive Guide

Setting up and managing your own dedicated server for Space Engineers can significantly enhance your gameplay, allowing for persistent worlds and customized multiplayer experiences. This guide provides a comprehensive walkthrough of the Space Engineers Dedicated Server tool, ensuring you can create and maintain your ideal server environment. Whether you’re looking to host a public server for a large community or a private server for a small group of friends, understanding the server tools is crucial.

Space Engineers Dedicated ServersSpace Engineers Dedicated Servers

Understanding the Dedicated Server Tool Interface

The Space Engineers Dedicated Server (DS) tool provides a user-friendly interface to manage server instances and configurations. Let’s break down the main sections of the initial interface:

1. Server List: Instance Overview

This section displays a list of your server instances. You’ll always see “Local/Console,” which represents a server instance running directly as an application. Beyond this, you can create and manage additional instances, each running as a separate Windows service in the background. These custom instances allow for running multiple servers on a single machine, each with its own configurations and worlds.

2. Global Configuration: Server-Wide Settings

Here, you can configure global settings that apply to all server instances. This includes options for:

  • Appending Dates to Log Files: Enabling this ensures your server log files are date-stamped, making it easier to track events and troubleshoot issues over time.
  • Automatic Crash Log Reporting: Opting in to automatically send log files to Keen Software House upon a server crash can help the developers identify and resolve issues, contributing to the overall stability of the game.

3. Administration Warning: Ensuring Proper Permissions

This warning message appears if the Dedicated Server tool is not running with administrator rights. Administrator privileges are essential for managing server instances as Windows services. To resolve this, click the “Run as Admin” button to restart the application with the necessary permissions. This is a crucial step, especially when creating or modifying server instances.

4. Server Management Buttons: Core Actions

These buttons provide quick access to essential server management actions:

  • Add new instance: Clicking this initiates the process of creating a new Space Engineers Server instance, running as a Windows service. This is how you set up additional, independent servers.
  • Remove instance: This button allows you to delete a selected server instance. Be cautious when using this, as it will remove the server and its associated configuration.
  • Continue to server configuration: This is your gateway to detailed server settings. Select a server instance and click this button to access the configuration utility for that specific server, where you can adjust game settings, server rules, and more.
  • Exit: This simply closes the Dedicated Server configuration utility. It does not stop any server instances that are currently running as services.

Space Engineers Dedicated ServersSpace Engineers Dedicated Servers

Diving into Server Management: Configuration and Control

Clicking “Continue to server configuration” brings you to the main server management interface. This is where you fine-tune your space engineers server to your exact preferences.

1. Connect to Steam: Leveraging Steam Features

The “Connect to Steam” feature enhances the server management experience by integrating with your Steam account. Connecting to Steam allows the Dedicated Server tool to:

  • Access your Friends List: Easily add friends as admins, banned users, or reserved slots directly from your Steam friends list.
  • Access your Mods List: Streamline the process of adding and managing server mods by directly accessing your Steam Workshop subscriptions.

To utilize this feature, ensure you are logged into the Steam client on the machine running the Dedicated Server tool.

2. Key Features of the Server UI: Navigating Server Options

The server management UI is organized around four primary features, accessible through tabs or sections:

  • Server Settings: This is the heart of server configuration, where you define core game rules, world settings, server visibility, and security options.
  • Plugins: Extend server functionality and customize gameplay with server-side plugins. This section allows you to manage and configure these plugins.
  • Remote Client: Administer your server remotely without needing to be in-game. This powerful tool provides monitoring and administrative capabilities from a separate application.
  • Console: Access the live server console output. This displays real-time server logs, commands, and system messages, crucial for monitoring server health and troubleshooting issues.

3. New Game / Saved Worlds: Choosing Your World

This option determines whether you start a new Space Engineers world or load a previously saved one.

  • New Game: Generates a fresh world based on a selected scenario. Scenarios define the starting environment and objectives for your space engineers server.
  • Saved Worlds: Loads an existing world. Server save data is typically located in:
    • AppDataRoamingSpaceEngineersDedicated (user-specific saves)
    • ProgramDataSpaceEngineersDedicated (system-wide saves)

To use a world you’ve created in single-player or another server, you need to copy the save files from your single-player save directory (AppDataRoamingSpaceEngineers) to the appropriate Dedicated Server save folder.

4. Game Settings: Fine-tuning the Gameplay

When starting a “New game,” you can configure various game settings, mirroring options available in the regular game client. Crucially, the Dedicated Server tool often allows you to set numerical options beyond the in-game UI limits.

Warning: Setting values outside the game’s intended UI range is officially unsupported and untested. These extreme values can negatively impact game performance and stability. Proceed with caution and only adjust these values if you understand the potential consequences.

5. Server Settings: Deep Dive into Configuration

The “Server Settings” section is further divided into tabs, offering granular control over various aspects of your space engineers server.

General Settings: Core Server Properties

  • Listen IP: Specifies the network interface the server listens on for incoming connections. The default “0.0.0.0” is usually suitable, as it listens on all available network interfaces.
  • Port: Defines the port number for server communication. The default port is typically used unless you have specific networking requirements.
  • Server name: The public name of your server as it appears in the Space Engineers server list. Choose a descriptive and inviting name to attract players.
  • World name: The name of the specific game world being hosted.
  • Steam Group ID: Restricts server visibility to members of a specified Steam group. Set a non-zero Steam Group ID to create a private server accessible only to your group.
  • Password: Sets a password for your server, adding another layer of privacy and control over who can join.
  • Remote API: Enables or disables the Remote API, which allows for external tools and scripts to interact with your server.
  • Server Description: A longer description of your server that appears in the server list. Use this to provide more details about your server’s rules, community, or playstyle.

Users: Managing Access and Permissions

The “Users” tab is where you manage player permissions and restrictions:

  • Admins: Grant administrative privileges to trusted players. Admins have access to server commands and can help moderate the server.
  • Banned: List players who are banned from joining your server.
  • Reserved slots: Reserve player slots for specific individuals, ensuring they can always join even when the server is full.

You can easily add users from your Steam friends list or from the server’s player history.

Note: Steam IDs are crucial for managing users. You need the 64-bit numerical Steam ID. Find your Steam ID in game logs (after logging in with Steam), or use external websites like steamid.co or steamidfinder.ru.

Mods: Customizing with Workshop Content

The “Mods” tab allows you to activate and manage server-side mods from the Steam Workshop. Easily add mods from your Steam Subscribed Mods list to enhance or alter the game experience on your space engineers server.

MotD – Message of the Day: Server Announcements

Customize the welcome message displayed to players when they connect to your server.

  • Message of the Day: The text message shown to players upon joining.
  • Message of the Day URL: A web link displayed alongside the message, useful for linking to server rules, community websites, or donation pages.

You can use variables within the MotD content for dynamic information. Right-click in the text field to access a context menu for inserting variables.

Maintenance: Automation for Server Uptime

The “Maintenance” tab provides options for automating server tasks:

  • Auto Restart: Configure the server to automatically restart at set intervals or upon crashes, ensuring continuous uptime.
  • Auto Update: Automatically update your space engineers server to the latest version when updates are available. This feature requires the DS GUI to be running.

Setting up Auto-Restart:

There are different approaches depending on how you run your server:

  1. Server as Local / Console:

    • With DS GUI: Auto-restart is directly supported within the GUI.
    • Without DS GUI (Console Application): You’ll need to create a custom script to handle auto-restarts.
  2. Server as Windows Service:

    • With DS GUI: Auto-restart is supported, but the GUI must remain open.
    • Without DS GUI: Configure auto-restart through Windows Service Recovery settings (Control Panel > Administrative Tools > Services). Set recovery options (First failure, Second failure, Subsequent failures) to “Restart the Service.” Consider using Task Scheduler for additional monitoring and restart mechanisms.

6. Configuration and Server Controls: Direct Server Management

This section provides buttons for immediate server actions:

  • Save config: Saves the current server configuration settings.
  • Edit config: Opens the raw configuration file (typically a .cfg file) in a text editor for manual, advanced editing.
  • Save & start: Saves the configuration and immediately starts the space engineers server instance.
  • Restart: Restarts the currently running server instance.
  • Stop: Stops the server instance gracefully, saving the world before shutting down.
  • Back to instances: Returns to the initial screen displaying the list of server instances.
  • Exit: Closes the configuration utility (but not the dedicated server if it’s running as a service).
  • Setup Actions: Schedule server actions like Stop or Restart with a delay and optional chat messages broadcast to players before the action occurs.

Space Engineers Dedicated ServersSpace Engineers Dedicated Servers

Plugins Management: Expanding Server Capabilities

The “Plugins” management section allows you to add and manage server-side plugins. Plugins can introduce new features, modify game mechanics, and enhance server administration. To install a plugin:

  1. Add plugin assembly: Specify the plugin .dll file.
  2. Select plugin: Choose the specific plugin from the loaded assembly.

Remember to consult plugin documentation for specific configuration instructions.

Space Engineers Dedicated ServersSpace Engineers Dedicated Servers

Remote Client: Administering from Afar

The Remote Client is a standalone application ( VRageRemoteClient.exe in the Dedicated Server directory) that provides powerful remote server administration capabilities. It allows you to monitor and manage your space engineers server without being in-game.

Key features include:

  • Monitoring Tab: Displays real-time server performance metrics like simulation speed and game state.
  • Admin Tools Tab: Mirrors the in-game Admin Screen (Alt+F10), providing access to:
    • Global server chat
    • Lists of connected, banned, and kicked players
    • Lists of grids, characters, floating objects, planets, and asteroids.

The standalone Remote Client offers additional features like Profiles (saving server connection settings) and Notifications for server events.

Space Engineers Dedicated ServersSpace Engineers Dedicated Servers

Space Engineers Dedicated ServersSpace Engineers Dedicated Servers

Command Line Options: Advanced Server Startup

For more control over server startup, you can use command-line arguments when launching SpaceEngineersDedicated.exe. Useful options include:

  • -console: Skips GUI dialogs and starts the server directly in console mode.
  • -noconsole: Runs the server without the black console window.
  • -path: Specifies a custom directory for server configuration and data files. Example: -path "D:WhateverSomething".
  • -ignorelastsession: Ignores the last automatic world save and loads settings from the config file.
  • -maxPlayers <number>: Overrides the maximum player limit set in the configuration.
  • -ip <ip address>: Overrides the IP address from the configuration.
  • -port <port number>: Overrides the port number from the configuration.

Stopping the Server via Command Line:

Use the taskkill command to gracefully stop the server:

taskkill /IM SpaceEngineersDedicated.exe

To force an immediate shutdown without saving the world, add the /f argument:

taskkill /IM SpaceEngineersDedicated.exe /f

Changing the Data Directory: Customizing Storage Location

To relocate the server data directory (configuration files, saves, etc.), you can use the mklink command (junction point) in Windows. This is useful for storing server data on a different drive.

Example:

  1. Ensure D:SomethingDirForData exists.
  2. Ensure C:ProgramDataSpaceEngineersDedicated does not exist.
  3. Run the command in an administrator command prompt:

mklink /J C:ProgramDataSpaceEngineersDedicated D:SomethingDirForData

Refer to http://msdn.microsoft.com/en-us/library/windows/desktop/aa365006%28v=vs.85%29.aspx for more information on junction points.

Router and Firewall Settings: Network Configuration

Proper router and firewall configuration is crucial for making your space engineers server accessible over the internet.

  • Static IP: A static public IP address is generally required for hosting public servers. Contact your internet service provider to inquire about obtaining a static IP. Without one, only players on your local network (LAN) can easily connect.
  • Port Forwarding: Configure your router to forward incoming UDP traffic on the server’s port (default 27016, or your custom port) to the computer hosting the server.
  • Firewall Settings: Ensure your server machine’s firewall allows incoming UDP traffic on the specified port. Create an exception for SpaceEngineersDedicated.exe or the server port.

Finding Your Group ID: Steam Group Servers

To create a space engineers server visible only to a specific Steam group, you need the Group ID. Here’s how to find it:

  1. Be a member of the Steam group.
  2. Visit the group’s page (e.g., http://steamcommunity.com/groups/rps).
  3. Click “Invite Friends.”
  4. On the invite page, the Group ID is the long number in the URL: http://steamcommunity.com/id/pikacc/friends/?invitegid=**103582791429554934**

Remote API: Advanced Server Interaction

The Remote API is a RESTful web API that allows external applications to retrieve server information and world data. You can use the VRage Remote Client or develop your own custom client to interact with the API.

Custom Client Development:

If you create a custom client, you’ll need to handle authentication using HMAC-SHA1 and a private key (server security key). The request process involves:

  1. Constructing a request URL.
  2. Generating a unique nonce (random string).
  3. Adding a Date header (UTC time, RFC1123 format).
  4. Computing an HMAC-SHA1 hash of the URL, nonce, and date using the private key.
  5. Adding the hash and nonce to the “Authorization” header.

Refer to the provided C# code example in the original documentation for implementation details when using RestSharp.

You can explore available API resources by accessing the API URL in a web browser (e.g., http://localhost:8080/vrageremote/api).

Block Limits: Controlling Block Usage

Space Engineers servers offer two methods for limiting block usage, found in the “Block Limits” tab of the Dedicated Server application.

1. Limiting by PairBlockName (Default):

Sets limits for specific block types (e.g., “Piston”). Limits apply to both large and small grid versions of the block, but not to variants (e.g., “Square Piston”). This provides fine-grained control over specific blocks.

2. Limiting by Tag:

Sets limits for groups of blocks based on tags. For example, limiting “Pistons” by tag would apply to both “Piston” and “Square Piston.” Block tags are defined in BlockTags.sbc within the game’s content files (SpaceEngineersContentData). You can modify these groupings by creating a mod that alters BlockTags.sbc.

By mastering these aspects of the Space Engineers Dedicated Server tool, you can create a tailored and robust multiplayer experience for yourself and your community. Experiment with the settings, explore plugins, and continuously refine your server configuration to create the ultimate space engineers server.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *