Browse by type
What is this?
tl;dr: OpenStarbound is a mod of the latest version of Starbound, 1.4.4. It fixes many bugs, adds many new features and improves performance.
By a truly unbelievable coincidence, I was recently out for a walk when I saw a small package fall off a truck ahead of me. As I got closer, the typeface slowly came into focus: Starbound. Inside, I found a submachine gun, a fursuit (tells you something about their audience I guess!), and the latest version of the Starbound source code.
You must own a copy of Starbound. Base game assets are not provided for very obvious reasons.
The code is worked on whenever I feel like it. Contributions are welcome!
You can download a nightly build below, or the latest release. At the moment, you must copy the game assets (packed.pak) from your normal Starbound install to the OpenStarbound assets directory before playing.
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.
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.
These link directly to the latest build from the Actions tab.
Windows Installer, Client, Server
Note: Not every function from StarExtensions has been ported yet, but near-full compatibility with mods that use StarExtensions features is planned.
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.
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
/swap name case-insensitive, only substring required)^font=name;, .ttf and .woff2 assets are auto-detected)Players can use items while lounging
Client-side tile placement prediction (rewrite from StarExtensions)
Admin characters have unlimited and unobstructed interaction/placement ranges
Some minor polish to UI
Note: Some of these texts are just tooltips rather than links.
template sbinit.config for dist/ after build
{
"assetDirectories" : [
"../assets/",
"./mods/"
],
"storageDirectory" : "./",
"logDirectory" : "./logs/"
}
Windows
C:\src\vcpkg or C:\dev\vcpkg.vcpkg integrate install!VCPKG_ROOT environment value to your vcpkg dir, so that CMake can find it.PATH, or just use Scoop (scoop install ninja)cmake --build --preset=windows-releaseLinux (Ubuntu)
sudo apt-get install pkg-config libxmu-dev libxi-dev libgl-dev libglu1-mesa-dev libsdl2-dev python3-jinja2 ninja-buildVCPKG_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/cmake --build --preset=linux-release to build.scripts/ci/linux/assemble.shLinux (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.
sudo dnf upgrade --refresh to ensure your OS is up-to-date
sudo dnf install cmakecmake --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.
sudo dnf install pkg-config libXmu-devel libXi-devel libGL-devel mesa-libGLU-devel SDL2-devel python3-jinja2 ninja-build
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.
. <(curl https://aka.ms/vcpkg-init.sh -L). This instruction should install VCPKG in your Linux home (user profile) directory in .vcpkg. Note that this dir is usually hidden by default.VCPKG_ROOT environment variable to the correct path. Run . ~/.vcpkg/vcpkg-init to bootstrap VCPKG. You may want to check if the path is now known to the system by running printenv VCPKG_ROOT afterwards.Step 2 (init command) should be run in every new Terminal (Konsole) window before you begin building (environment variables set in this way do not persist between terminal sessions)
Change to the repo's source/ directory
source/vcpkg.json. You can run this step manually via vcpkg install on its own to check if it works, or skip to the next step.If this step throws errors, Fedora probably still lacks some packages not listed explicitly before. Read error messages to identify these packages, find them via Fedora Packages and install with DNF. What you need most of the time is the package itself as well as its -devel and -static subpackages.
* Optional. Next, we can ask CMake to assemble instructions for linux build without actually running them. The instructions generated will be stored under build/linux-release. To do that, run cmake --preset=linux-release or skip to the next step.
* Run cmake --build --preset=linux-release to build. It includes previous two steps, so if any of them throw errors, you will have problems. If that's the case, run and debug them separately as described earlier, as CMake itself can just throw Error: could not load cache without specifying the exact problem. In case of major changes (example: you've reinstalled VCPKG to a different location and need to regenerate path to it for CMake) purge CMake cache by deleting source/CMakeCache.txt.
Building will take some time, be patient ;)
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. Possible choices are (as string): "0", "g", "1", "2", "3", "s".
error in meson building logs when building libsystemd.
Fix for VCPKG is pretty fresh (May 2024) and can be found here.
scripts/ci/linux/assemble.sh. This packs the game assets and copies the built binaries, premade sbinit configs$ claude mcp add OpenStarbound \
-- python -m otcore.mcp_server <graph>