Project

sbcp

0.0
No commit activity in last 3 years
No release in over 3 years
SBCP is a Starbound server management solution for Linux.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.11
~> 5.0
~> 0.6.3
~> 10.0

Runtime

>= 1.3.11, ~> 1.3
~> 0.3.0
~> 0.17.3
>= 1.7.8, ~> 1.7
~> 0.2.0
>= 1.0.9, ~> 1.0
 Project Readme

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.