SkillAgentSearch skills...

XStarbound

Fork of OpenStarbound and successor to xSB-2

Install / Use

/learn @xStarbound/XStarbound

README

xStarbound

This is a fork of OpenStarbound; all credit for the original code goes to the respective authors. Contributions are welcomed. You must own a copy of Starbound to use xStarbound. Base game assets are not provided for obvious reasons.

Download the latest release for Linux and Windows here. Older releases are also available.

🪧 FYI: If you're connecting to an OpenStarbound server or hosting for OpenStarbound clients, scroll down to Network compatibility!

Changes

  • Several new commands (by @fezzedone)! Type /xclient for info on the new client-side commands, or /help (on xServer, an xClient host or in single-player on xClient) to see the new server-side ones.

  • As of v4.2, xStarbound supports a new «creative mode» (by @fezzedone) that bypasses various placement restrictions applied to tiles, objects, plants and liquids. Its status is controlled by the "bypassBuildChecks" world property on a given world; if true, «creative mode» is enabled for that world. On xServer, build permission (or admin access) is required to toggle «creative mode» on a world. xWEdit provides a /creative command for toggling «creative mode». More details:

    • The following «creative mode» features require xClient v4.2+, but do not require xServer in multiplayer:
      • Non-consumable material, liquid and object items.
      • Instant tree growth upon placement.
      • Unrestricted object placement: Allows objects to be placed in mid-air or overlapping tiles, plants or other objects.
    • The following «creative mode» features require xServer v4.2+ / hosting xClient v4.2+ but not xClient on the client's end in multiplayer, or xClient v4.2+ in single-player:
      • Ability to remove tiles, plants and objects without removing objects or plants anchored to them. Note that liquids still remove hydrophobic objects (like vanilla torches) even with «creative mode» enabled, because if this exception weren't made, hydrophobic objects would still plop off anyway as soon as «creative mode» is disabled.
      • Ability to place or remove gravity-affected tiles without them falling.
      • Ability to place or remove liquids without «proccing» falling tiles or flows of liquids other than what you're placing.
      • Ability to remove unbreakable objects as if they are breakable.
    • The following «creative mode» features require both xServer / hosting xClient v4.2+ and xClient v4.2+ on the client's end in multiplayer, or xClient v4.2+ in single-player:
      • In-place tile replacement. Works with all placeable material items.
      • Mid-air tile placement with placeable material items.
      • Removal of all other tile placement restrictions.
  • As of v4.0+, xServer (the xStarbound server) supports scriptable functionality previously confined to wrappers like StarryPy3k (by @fezzedone), including:

    • Permission-based build protection for worlds and systems, complete with optional container modification/viewing protection and automatic shipworld protection and claims. Includes protection against spawning or removing entities not controlled by the player's own client (except item drops, which cannot run scripts).
    • Dedicated guest accounts and the ability to detect and handle anonymous connections in server-side scripts.
    • Scriptable connection handling, allowing mods to run, e.g., IP address checks on connecting players.
    • Account- and UUID-based world claims.
    • Chat message creation, filtering and redirection. This can be used for permission-based nickname colouring, server and world MOTDs, profanity filtering, etc.
    • Permission control, including world claim support, for entity messages handled by the server.

    See $docs/lua/lua.md, $docs/lua/world.md and $docs/lua/universeserver.md for more.

    As of v4.1.2.3, an xServer::Helper utility mod is available. This mod adds a /claim command for setting world protection and claims, as well as an optional user account registration command and several admin commands for viewing and changing the server configuration without having to restart xServer. Download xServer::Helper on the releases page.

  • Persistent, scriptable server-side data storage that can be accessed and modified from any server-side universe, world or entity script (@FezzedOne). See $docs/lua/universeserver.md for more.

  • Fully scriptable world metadata modification, including support for changing any existing world's tile size (@fezzedone). Modders can now modify all attributes of any existing world without resorting to external Python tools. Additionally, xClient (the xStarbound client) users can safely explore very small worlds without crashing (aside from some harmless visual glitches).

  • Scriptable weather control for worlds (@Mofurka and @fezzedone) — scripts can now change a world's weather on demand.

  • Nicer (and optimised) non-pixelated humanoid tech and status effect scaling for players and NPCs (reimplementation by @fezzedone).

  • Now runs Pluto, an optimised fork of Lua 5.4! As of xStarbound v4.0, Pluto's jump table optimisation is enabled, speeding up Lua scripts.

  • Full Lua sandboxing! By @fezzedone.

    • To replace the old, potentially crash-prone sandbox-breaking code used by certain mods, xStarbound supports pane message handlers and Lua callbacks for safely saving and reading variables in global variable tables with the same expected cross-context scopes.
    • Note: This causes some mod compatibility issues; see below for affected mods.
  • Full, up-to-date Lua API documentation. (Aside from a lot of engine calls into Lua scripts.)

  • Support for underlaying and overlaying cosmetic items, by @fezzedone. Now includes OpenStarbound v0.1.11+ cosmetic overlay compatibility (by @novaenia and @fezzedone)! Two types of layering are supported:

    • Underlays: You can right-click an item in any armour or inventory slot to underlay it below any item in the associated cosmetic slot. Underlaid items have a red border by default. For instance, you can layer a wig under a hat by putting the hat in the cosmetic slot, the wig in the armour slot and right-clicking the wig. Underlaid armour grants its usual effects; note that particle effects associated with an underlaid item as "effectSources" won't spawn, even if the underlaid item is visible. Underlaid items are indicated with a red border.
    • Overlays: You can right-click while holding <kbd>Shift</kbd> with an armour or clothing item in your swap slot to stack and overlay it onto another armour or clothing item of the same slot type in your armour slots or inventory — you can stack as many items as you want! To remove or «pop» the topmost item from an overlay stack, <kbd>Shift</kbd> + Right Click with an empty swap slot — you'll see the «popped» item in your swap slot. Items are layered in the order they are stacked, with the lowest-layered item (aside from underlays) being the base item shown in the tooltip. Stacked cosmetic items have a red stack count indicator, and their tooltip preview shows what the entire stack looks like on your player. Overlaid cosmetic items do not give players any additional game effects or spawn particles — they are purely cosmetic.

    Underlaid items can have overlays. This client feature is compatible with vanilla multiplayer, but other players must have xClient or OpenStarbound v0.1.11+ to see your underlays and overlays; OpenStarbound users can only see up to 12 xStarbound overlays on items in armour slots not «covered» by cosmetic slot items (regardless of underlay status), or in cosmetic slots. xStarbound users can see all OpenStarbound cosmetic overlays.

    • Network compatibility note: This cross-client cosmetics compatibility does not work in the OpenStarbound-to-xStarbound direction (but does the other way around!) for OpenStarbound v0.1.11+ clients connected to OpenStarbound v0.1.11+ servers, unless the OpenStarbound clients are connected in legacy mode.
  • Support for OpenStarbound v0.1.10/v0.1.11 cosmetic features (left-facing «flipped» clothing directives for custom items, humanoid config overrides, custom armour hiding, middle-clicking to hide armour) by @novaenia. Tweaked for xStarbound by @fezzedone, including support for "flipDirectives" in /render and overridden movement parameters in humanoid config overrides; movement parameter override support was also added in OpenStarbound v0.1.11.1 by @novaenia.

  • New optional "xSBdirectives" and "xSBflipDirectives" instance parameters for cosmetic items, by @fezzedone. These override the standard "directives" and "flipDirectives" parameters when present and support animator-like substitution tags. And yes, xClient networks these parameters and any substitutions in a fully multiplayer-compatible manner that allows stock and OpenStarbound client users to see your worn items with "xSBdirectives" and "xSBflipDirectives" exactly as they appear to xClient users, so there's no need to worry about the clients other people are using! Stock client users can even see the left-facing sprites on your flippable clothing/cosmetic items if you use "xSBflipDirectives" instead of "flipDirectives" (and you're facing left, of course). See $docs/cosmetics.md for more info.

  • Support for humanoid "identity" overrides, by @fezzedone. These allow cosmetic items to change your humanoid appearance/sprites when worn. The overrides also support substitution tags. If you use the new "broadcast" identity parameter, the overrides are networked in a way that allows stock and OpenStarbound clien

View on GitHub
GitHub Stars141
CategoryDevelopment
Updated2d ago
Forks11

Languages

C++

Security Score

85/100

Audited on Mar 31, 2026

No findings