Skip to content

KazKoboDev/SBCP

Repository files navigation

Starbound Control Panel

Gem Version Dependency Status

Starbound Control Panel, or SBCP for short, is a Ruby gem that allows server owners to easily manage their server. It behaves similarly to a wrapper without intercepting connections, relying solely on output. It is my first released project on GitHub, as well as my first Ruby gem.

Features

  • Relatively easy to install and setup
  • Fully automated backups
  • Fully automated restarts (including recovery from crashes)
  • Easy server managment commands (start, restart, stop, etc.)
  • Interactive config menu
  • Server information view (started, uptime, restart_in, etc.)
  • Player information view (account, name, ip, nickname, etc.)
  • Automatically prevent duplicate character names from joining
  • RCON Support

Requirements

SBCP was designed for Linux and developed on Ubuntu 16.04.

SBCP was developed on Ruby 2.3.0.

Screen is required. (Ubuntu usually has this by default)

Your mileage may vary.

Installation

If you don't have Ruby installed, you'll need it. I reccommend using RVM:

$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ \curl -sSL https://get.rvm.io | bash -s stable --ruby=2.3.0

If you already have RVM:

$ rvm install ruby-2.3.0
$ rvm use ruby-2.3.0

Now just install the SBCP gem:

$ gem install sbcp --no-ri --no-rdoc

Updating

Just type

$ gem update sbcp

You will need to restart SBCP for the update to take effect.

Usage

You'll find that SBCP won't work properly without some additional configuration.

Go ahead and start SBCP, then run the setup command:

$ sbcp -s
$ setup

It will attempt to ascertain the location of your Starbound server's installation directory.

Afterwards, it will ask if you want to use the default values. All default directories are based out of the Starbound installation directory. These values are:

  • Backup Directory: ../sbcp/backups
  • Backup History: 90 days
  • Backup Schedule: Hourly
  • Log Directory: ../sbcp/logs
  • Log History: 90 days
  • Log Style: Daily
  • Restart Schedule: Every 4 Hours

Once this is finished, you can just do this for commands:

$ help

Make sure that you restart SBCP after running setup, or it will complain that you haven't run it yet.

If you want to leave SBCP without closing it, just type:

$ detach

If you ever want to go back, type:

$ sbcp -r

Plugins

SBCP has rudimentary plugin support. You can override SBCP's behavior by adding your own Ruby files to the plugins folder that's created during initial setup. You'll need to examine the source material as plugins will entirely override methods, so if you're looking to make changes to existing methods you will need to copy/paste the source into your plugin before making changes. The filename of your plugin doesn't matter as all Ruby files inside the plugin folder are loaded shortly after the daemon starts.

You can find the plugins folder in /sbcp/plugins, in the installation directory of your Starbound folder.

TODO

SBCP still has some work left to be done. I have some additional features planned:

  • GUI mode
  • Permissions System
  • Better Plugin Support
  • Ban/Kick/Unban commands
  • Automatic server announcements
  • Automatic planet restoration
  • Various in-game commands

Known Issues

Please see the issues page.

Contributing

Bug reports and pull requests are welcome.

License

The gem is available as open source under the terms of the GNU AGPLv3 License.

About

A Starbound Server Management Solution for Linux Servers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages