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 …
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!
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
Note: Mods that use StarExtensions features often work with OpenStarbound, StarExtensions is deprecated.
The lightmap generation has been moved off the main thread, and supports higher color range.
View OpenStarbound commands with /help! You can also view them here
/settileprotection/settileprotection 69 420 false/admin/admin playerSpecifier (requires OpenSB server)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)
Multiple font support (switch fonts inline with ^font=name;, .ttf and .woff2 assets are auto-detected)
Experimental changes to the storage of directives in memory to reduce copying - can reduce their impact on frametimes when very long directives are present
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)
Support for placing foreground tiles with a custom collision type (rewrite from StarExtensions, requires OpenSB server)
Some minor polish to UI
The Skybox's sun now matches the system type you're currently in.
Discord: reverse the text in the image and you will have the invite code (this is to prevent spam bots)
Directives
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 --preset=windows-release then 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 --preset=linux-release and 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-datesudo dnf install cmakecmake --version to verifyYou 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-buildNext 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.
Diagnosed by
ERROR: Value "plain" (of type "string") for combo option "Optimization level" is not one of the choices.
No open issues yet, or sync has not completed.