Announcement Wayfarer Content Roadmap, A Look Ahead (July 2026)

Setting Up a Development Environment

Wayfarer follows the same general SS14 development workflow. This guide covers everything needed to set up a local development environment for our server!

Unlike a normal game installation, a development environment contains everything needed to build, modify, test, and debug the game from its source code.

This guide is written specifically for Wayfarer 14 and is intended to be self-contained. While Wayfarer shares much of its architecture with other Space Station 14 servers, our setup process, repository structure, and development workflow are documented here so you won't need to search through multiple sources to get started.

Repository: https://github.com/project-wayfarer/wayfarer-14
Discord: https://discord.gg/QpVfma2eAp

Need help? Join the Discord server and ask questions in #mentorship-and-contributing. Everyone starts somewhere, and we're always happy to help new contributors.


Required Software

Contributing to Wayfarer requires a few tools that work together to compile and run the game.

Don't worry if you've never programmed for Space Station 14 before. As long as you're comfortable following instructions and willing to learn, you'll be able to get everything running in less than an hour.

Each tool serves a different purpose, and all of them are required for a functioning development environment. Before cloning the repository, we will see how to install each of the following applications.

Software Recommended Version Purpose
Git Latest Downloads and updates the source code
Python 3.7+ Runs the Toolbox setup script
.NET SDK 9.0.x Builds and runs the project
IDE / Editor Latest Writing, debugging, and testing code

Tip for Windows users: The easiest way to install everything on Windows is through winget, Microsoft's package manager.

Open Windows Terminal or PowerShell and run the following commands.

winget install Git.Git
winget install Python.Python.3.13
winget install Microsoft.DotNet.SDK.9

Next, choose an IDE.

JetBrains Rider

winget install JetBrains.Rider

Visual Studio Community

winget install Microsoft.VisualStudio.2022.Community

Visual Studio Code

winget install Microsoft.VisualStudioCode

Git

Git is a distributed version control system used by millions of software projects around the world. Every change made to Wayfarer is tracked through Git, allowing developers to collaborate without overwriting each other's work.

You'll primarily use Git to clone the repository, download updates, create feature branches, commit your changes and submit pull requests!

Even if you've never used Git before, don't worry. Most of the commands you'll need are covered later, and if you're confused, you can always ask for help!

You can download the current Git version from here.


Python

Wayfarer includes an automated setup script named RUN_THIS.py.

Instead of manually downloading the game engine, configuring dependencies, and initializing submodules, this script performs those tasks automatically.

Python is not used to build the game itself. It simply runs the setup utility that prepares the repository for development.

If you're wondering why Python is required for a C# project, this setup script is the reason.

You can download Python (3.7+) from here.


.NET SDK 9.0

Wayfarer is written almost entirely in C#, Microsoft's modern object-oriented programming language.

To transform the source code into a playable game, you'll need the .NET SDK. Specifically .NET 9.

The .NET SDK includes everything needed to develop and build Wayfarer. It provides the C# compiler that converts the project's source code into executable applications, along with the build tools used to compile and package the project. It also includes package management through NuGet for downloading and managing project dependencies, integrated debugging support for diagnosing and fixing issues, and a collection of command-line utilities that allow you to build, run, test, and manage the project directly from a terminal.

Without the SDK, the project cannot be compiled or run.

You can download the .NET SDK from here.

Note: Installing the .NET Runtime alone is not enough. Be sure to install the SDK, which includes everything needed for development.


Recommended IDEs

The development environment is different for everyone! Thankfully, there are plenty of choices for you to choose from.

JetBrains Rider

JetBrains Rider is the preferred IDE for many developers working on RobustToolbox and Space Station 14 projects, thanks to its excellent C# tooling and seamless support for large, multi-project solutions.

Rider offers a polished development experience with fast project indexing, intelligent code completion, a powerful built-in debugger, Git integration, and cross-platform support for Windows, Linux, and macOS.

The primary downside is that Rider consumes more system resources than lightweight editors like VS Code and is commercial software. However, it is free for many students and for non-commercial use, making it an good choice for many contributors.

The website for JetBrains can be found by clicking here.


Visual Studio Community

Visual Studio Community is Microsoft's flagship integrated development environment and remains one of the best choices for Windows users developing .NET applications. It offers great integration with .NET projects and provides a familiar, feature-rich environment for building, debugging, and testing Wayfarer.

During installation, be sure to select the .NET Desktop Development workload (it has a large file size of over 10GB). This installs the C# compiler, debugger, and the additional development tools required to compile and run the project.

You can find more information about Visuall Studio Community by clicking here.


Visual Studio Code

Visual Studio Code is a lightweight, source code editor that provides a streamlined alternative to full-featured IDEs. While it doesn't include all of the advanced features found in Rider or Visual Studio out of the box, installing a few extensions transforms it into a capable environment.

To get the best experience, we suggest you install the following extensions:

  • C#
  • C# Dev Kit
  • Robust YAML
  • EditorConfig

VS Code is particularly popular among Linux users and developers who prefer a faster, more lightweight editor. Although some advanced refactoring and debugging features may require additional configuration, its flexibility, performance, and extensive extension ecosystem make it an excellent choice for contributors who value simplicity and customization.

If you're unsure which editor to use, VS Code is our recommended starting point.

You can download Visual Studio Code from here.


Forking the Repository

Before you can contribute to Wayfarer, you'll need your own copy of the repository on GitHub. This process is called forking. A fork creates a copy of the repository under your GitHub account, allowing you to freely make changes without affecting the official project.

When you're ready to contribute, your changes will be submitted back to the main repository as a Pull Request, where they can be reviewed before being merged.

To create a fork:

  1. Navigate to the Wayfarer repository on GitHub.
  2. Click the Fork button in the upper-right corner.
  3. Select your personal GitHub account as the destination.
  4. Wait for GitHub to create your copy of the repository.

You should now have a repository that looks something like:

https://github.com/<your-username>/wayfarer-14

This is the repository you'll clone to your computer and push changes to.


Cloning Your Fork

Rather than cloning the official repository, clone your fork.

If you're using Git:

git clone https://github.com/<your-username>/wayfarer-14.git
cd wayfarer-14

If you're new to Git, we recommend using GitHub Desktop. It provides a simple graphical interface for cloning repositories, creating branches, committing changes, and syncing with GitHub, allowing you to focus on development instead of memorizing Git commands.

You can get GitHub Desktop here.

In GitHub Desktop:

  1. Select File → Clone Repository.
  2. Choose the GitHub.com tab.
  3. Select your fork of wayfarer-14.
  4. Click Clone.

After cloning, you'll have a complete local copy of your fork that's ready to be configured.


Creating a Development Branch

Although you own your fork, it's still considered best practice to avoid working directly on its master (or main) branch. Instead, create a separate development branch for every feature, bug fix, or documentation change you make.

This keeps your fork organized and makes it easier to work on multiple changes at once.

For example:

git checkout -b dev

Or, for larger projects, you may prefer feature-specific branch names:

git checkout -b feature/new-antagonist
git checkout -b fix/shuttle-console
git checkout -b docs/setup-guide

Once the branch has been created, all of your work should be committed there. When you're ready, push the branch to your fork and open a Pull Request against the official Wayfarer repository.

Tip: If you're using GitHub Desktop, creating a branch is simple. Just click Current Branch → New Branch. GitHub Desktop will automatically switch you to the new branch and offer to publish it to your fork when you're ready.


Building the Project

Before the game can be run, the source code must be compiled into executable applications. While most IDEs include a Build Solution button, we recommend building the project from the command line.

On Windows, holding shift and right clicking in the work folder will bring up a menu where you can open PowerShell in the directory.

From the root of the repository, run:

dotnet build

The .NET SDK will automatically restore any missing packages, compile the project, and report any build errors. If the build completes successfully, you're ready to launch the game.

Tip: If you've made significant changes or encounter unusual build issues, you can perform a clean rebuild by running:

dotnet clean
dotnet build

Starting the Client & Server

Space Station 14's repository is split into two applications that work together during development.

Project Purpose
Content.Server Runs the game world, gameplay logic, networking, and all server-side systems.
Content.Client Renders the game, handles player input, and connects to the server.

For normal development, you'll usually have both applications running simultaneously.

After ensuring your build completed successfully, you're ready so start up the game. Looking inside your local repository, you can see several batch (.bat) files within. These can be used to start the server and client without needing to use PowerShell or your terminal.

Run the files:

runclient.bat
runserver.bat

Tip: There are also batch files with "tools" added to the end. These can be run instead of the normal batch files to run a less "load-heavy" version of the environment. This can be used to put less stress on your local host when doing things like mapping.

If you prefer using the terminal instead, you can also launch the client and server with:

dotnet run --project Content.Client
dotnet run --project Content.Server

Both methods start the applications, so you're free to use whichever best fits your workflow.


Next Page: Repository Structure

Last updated 3 weeks ago