RubyBukkit

4.4k Downloads

Write plugins in JRuby!

Rubybukkit is a custom plugin loader that enables you to write Bukkit plugins as short Ruby/JRuby scripts.


Features

  • Loads Bukkit plugins written in Ruby/JRuby


Installation

  • Download the plugin from the Files tab and drop it into the plugins folder
  • Create the folder plugins/RubyBukkit (or let the plugin create it on server start); this folder will contain the JRuby runtime and all your Ruby plugins
  • Download the JRuby runtime version 1.6.x from http://jruby.org/download (get JRuby 1.6.x Binary as tar.gz or zip)
  • Extract the file jruby.jar in the lib folder from that archive and drop it into plugins/RubyBukkit


Plugin Source

The source code is available in the Github repository: https://github.com/Zeerix/RubyBukkit

I will accept Pull Requests if I have the time and I find them useful.


Configuration

The plugin will create a default configuration file on startup as plugins/RubyBukkit/config.yml.

1
2
3
4
5
6
settings:
    plugins-path: plugins/RubyBukkit
    debug: true
runtime:
    ruby-version: '1.8'
    jruby-path: plugins/RubyBukkit/jruby.jar
plugins-path
the folder which this plugins looks for Ruby plugins in. All files with extension .rb are loaded.
debug
enables/disabled debug output about plugin loading
ruby-version
JRuby version compatibility mode: '1.8' or '1.9'
jruby-path
location of the jruby runtime


Example plugins

Here is a list of some example plugins. There is also an explanation on How to Write a Ruby Plugin in the forum.

  • [GEN/INFO] OnlinePlayers - Displays list of online players on login and by a command.
  • [WGEN] RubyMoon - Ruby version of the custom map generator BukkitFullOfMoon by Dinnerbone.
  • [ADMN] GarbageCollect - Registers a command that forces a garbage collection cycle.
  • [INFO] Uptime - Displays time since server start on /uptime.
  • [MISC/MECH] CustomRecipes - Adds some custom recipes for the crafting grid. Can easily be changed to add new recipes.

Donation

If you like RubyBukkit, you can donate some Bitcoins to my address.
One-time addresses and other forms of donation on request.

Bitcoins: 12RnhW6hMUJuHACNMgsmuGRzuWMswpchQf