Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
O

OpenStarbound

> 编程语言
Open source

OpenStarbound What is this? By a truly unbelievable coincidence, I was out for a walk when I saw a small package fall off a truck ahead of …

1.3K stars0 likes1 views
WebsiteGitHub

About

OpenStarbound What is this? By a truly unbelievable coincidence, I was out for a walk when I saw a small package fall off a truck ahead of …

OpenStarbound

What is this?

By a truly unbelievable coincidence, I was out for a walk when I saw a small package fall off a truck ahead of me. Inside, I found the 1.4.4 Starbound source code. OpenStarbound is derived from that source code. It fixes many bugs, adds many new features and improves performance. there is only so much you can do to polish a turd, just play Terraria or something

Q: Doesn't 'Open{game}' imply an engine reversed from scratch? (see Open.. TTD, RCT2, MW)

A: yeah too late to change it now though. whoops

You must own Starbound for the game assets. The code is worked on whenever I rarely feel like it. Contributions are welcome!

Installation

Download the latest stable release.

The latest stable release is recommended, as the nightly build can have bugs.

At the moment, you must copy the game assets (packed.pak) from your normal Starbound install to the OpenStarbound assets directory before playing. Optionally copy the user folder in the same directory as packed.pak to move the vanilla playable instrument songs over.

OpenStarbound is a separate installation/executable than Starbound. You can copy your storage folder from Starbound to transfer your save data and settings. Launching OpenStarbound with Steam open will load your subscribed Steam mods. If you have any locally installed non-Steam mods, you may want to copy the mods folder as well.

An installer is available for Windows. otherwise, extract the client/server zip for your platform and copy the game assets (packed.pak) to the OpenStarbound assets folder.

Nightly Builds

These link directly to the latest build from the Actions tab, main branch.

Windows Installer, Client, Server

notice: get Linux and macOS builds directly from the Actions tab until the nightly.link service fixes things

Linux Client, Server

macOS Intel, ARM


All Nightly Builds

Changes

Note: Mods that use StarExtensions features often work with OpenStarbound, StarExtensions is deprecated.

Lighting

The lightmap generation has been moved off the main thread, and supports higher color range.

  • Point lights are now additive, which is more accurate - you'll notice that different lights mix together better!
  • Object spread lights are auto-converted to a hybrid light which is 25% additive.

Assets

  • Assets can now run Lua scripts on load, and after all sources have been loaded.
    • These scripts can modify, read, patch and create new assets!
  • Lua patch files now exist - .patch.lua
    • These can patch JSON assets, as well as images!

Commands

View OpenStarbound commands with /help! You can also view them here

  • Changes to vanilla commands:
    • /settileprotection
      • You can now specify as many dungeon IDs as you want: /settileprotection 69 420 false
      • You can now specify a range: /settileprotection 0..65535 true
    • /admin
      • You can now admin other players: /admin playerSpecifier (requires OpenSB server)

Bug Fixes

  • Invalid character inventories are updated when loading in, allowing players to swap inventory mods with pre-existing characters.
  • Fix vanilla world file size bloating issue.
  • Modifying a single status property no longer re-networks every status property on the entity (server and client must be running at least OpenStarbound 0.15)

Misc

  • Player functions for saving/loading, modifying the humanoid identity, manipulating the inventory. Documentation

  • Character swapping (rewrite from StarExtensions, currently command-only: /swap name case-insensitive, only substring required)

  • Custom user input support with a keybindings menu (rewrite from StarExtensions)

  • Positional Voice Chat that works on completely vanilla servers, uses Opus for crisp, HD audio (rewrite from StarExtensions)

    • Both menus are made available in the options menu in this fork rather than as a chat command.
  • Multiple font support (switch fonts inline with ^font=name;, .ttf and .woff2 assets are auto-detected)

    • .woff2 fonts are much smaller than .ttf, here's a web conversion tool!
  • Experimental changes to the storage of directives in memory to reduce copying - can reduce their impact on frametimes when very long directives are present

    • Works especially well when extremely long directives are used for "vanilla multiplayer-compatible" creations, like generated clothing or custom items/objects.
  • Perfectly Generic Items will retain the data for what item they were if a mod is uninstalled, and will attempt to restore themselves if re-installed.

  • Musical instruments have their own volume slider in the options menu.

  • Players can use items while lounging

  • Mods can change which scriptPane the Matter Manipulator/Collections sidebar button opens, in interface.config.patch.

  • Items can change their rarity border. Documentation

  • Client-side tile placement prediction (rewrite from StarExtensions)

    • You can also resize the placement area of tiles on the fly.
  • Support for placing foreground tiles with a custom collision type (rewrite from StarExtensions, requires OpenSB server)

    • Additionally, objects can be placed under non-solid foreground tiles.
    • Admin characters have unlimited and unobstructed interaction/placement ranges
  • Some minor polish to UI

  • The Skybox's sun now matches the system type you're currently in.

    • Previously generated planets will not have this feature and will display the default sun.
    • Modded system types require a patch to display their custom sun.
    • You can also access the skybox sun scale and its default ray colors. For more details see, sky.config.patch.

Discord: reverse the text in the image and you will have the invite code (this is to prevent spam bots)

Directives

Building

Note: Some of these texts are just tooltips rather than links.

template sbinit.config for dist/ after build

json
{
  "assetDirectories" : [
    "../assets/",
    "./mods/"
  ],

  "storageDirectory" : "./",
  "logDirectory" : "./logs/"
}

Windows

  • Install vcpkg globally.
    • vcpkg recommends a short directory, such as C:\src\vcpkg or C:\dev\vcpkg.
    • If you're using Visual Studio, don't forget to run vcpkg integrate install!
  • Set the VCPKG_ROOT environment value to your vcpkg dir, so that CMake can find it.
  • Install Ninja. Either add it to your PATH, or just use Scoop (scoop install ninja)
  • Check to see if your IDE has CMake support, and that it's actually installed.
  • Open the repo directory in your IDE - it should detect the CMake project.
  • Build.
    • If you're using an IDE, it should detect the correct preset and allow you to build from within.
    • Otherwise, build manually by running CMake in the source/ directory: cmake --preset=windows-release then cmake --build --preset=windows-release
  • The built binaries will be in dist/. Copy the DLLs from lib/windows/ and the sbinit.config above into dist/ so the game can run.

Linux (Ubuntu)

  • Make sure you're using CMake 3.23 or newer - you may need to add Kitware's APT repo to install a newer version.
  • Install dependencies:
    • sudo apt-get install pkg-config libxmu-dev libxi-dev libgl-dev libglu1-mesa-dev libsdl2-dev python3-jinja2 ninja-build
  • Clone vcpkg (outside the repo!) and bootstrap it with the linked instructions.
  • Set the VCPKG_ROOT environment value to your new vcpkg directory, so that CMake can find it.
    • export VCPKG_ROOT=/replace/with/full/path/to/your/vcpkg/directory/
  • Change to the repo's source/ directory, then run cmake --preset=linux-release and cmake --build --preset=linux-release to build.
  • The built binaries will be in dist/. Copy the the .so libs from lib/linux/ and the sbinit.config above into dist/ so the game can run.
    • From the root dir of the repo, you can run the assembly script which is used by the GitHub Action: scripts/ci/linux/assemble.sh
      • This packs the game assets and copies the built binaries, premade sbinit configs & required libs into client/ & server/.

Linux (Fedora)

Starbound in general is built from the ground up, with its own engine written in C++ on top of some basic libraries.

  • CMake is a C++ build scenario generator and your first target. You need at least version 3.23. Where Ubuntu uses APT, Fedora uses DNF as package manager.

    1. sudo dnf upgrade --refresh to ensure your OS is up-to-date
    2. sudo dnf install cmake
    3. cmake --version to verify
  • You will need at least the same dependencies ("basic libraries") as for Ubuntu. Some packages have different names or contents between Linux builds. Namely, Fedora uses "-devel" instead of "-dev" for development packages.

    1. sudo dnf install pkg-config libXmu-devel libXi-devel libGL-devel mesa-libGLU-devel SDL2-devel python3-jinja2 ninja-build
    2. If you find out that you need any other dependencies not listed here, try finding them via Fedora Packages first. And, preferably, improve this instruction.
  • Next you will need VCPKG.

VCPKG is another package manager/dependency resolver for C++. CMake will need it to pull the rest of dependencies automatically early in the building process. If you've worked with language-specific package managers before (for example, NPM or YUM for JavaScript), VSPKG is similar. For reference, the list of dependencies VCPKG will try to install later can be found in source/vcpkg.json.

  1. There are many ways to get VCPKG. Here's one: `. Specific problem: If your VCPKG can't build meson for libsystemd

Diagnosed by

ERROR: Value "plain" (of type "string") for combo option "Optimization level" is not one of the choices.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C++

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言