RemoteBukkit
RemoteBukkit
Plugin v4.0.0 - GUI v2.0.0 - Console v2.0.0
General
RemoteBukkit allows admins to, with the help of a plugin, remotely use the server's console. You do this by running a client on you computer and you provide this client with the hostname and port on which the RemoteBukkit plugin's server is running. Of course you will also need to provide the client with the server's username and password (set up in the plugin config file) for security.
So, provided the server has the RemoteBukkit plugin installed, admins can remotely use the Bukkit Console to control the server and execute Bukkit console commands server side.
RemoteBukkit does support multiple, simultaneous, connected clients.
News
Major Plugin Update v4.0.0
The latest plugin release (v4.0.0) adds support for CB v1.7.2.
Major Plugin Update v3.0.0
The latest plugin release (v3.0.0) adds support for multiple users.
Minor Plugin Update v2.5.0
The latest plugin release (v2.5.0) adds a number of highly requested features as well as a fix for a critical exploit.
Use
Plugin
Simply place the plugin in the standard Bukkit plugin directory and it will automatically generate its configuration the next time the server is run. The config file format is very simple, but offers several flexible options. The defaults are:
port: 25564 verbose: true logsize: 500 users: - user: username pass: password
All avaliable options and their descriptions are listed below.
Option | Default | Description |
---|---|---|
port | 25564 | The port on which the RemoteBukkit server will listen (this MUST be different to the Bukkit server's port number) |
verbose | true | Whether or not RemoteBukkit will produce verbose logging information (in the form "client X dispatched command Y"). |
logsize | 500 | The maximum number of log lines to send to a client upon successful connection. |
users | (list) | A list of the users which are permitted to connect to the RemoteBukkit server. The syntax for defining multiple user entries can be found in the example below. |
A more complex example configuration file can be found below (for demonstration purposes).
port: 6001 verbose: false logsize: 12 users: - user: escortkeel pass: secretpassword - user: bukkitserver pass: thepassword - user: minecraft pass: server
GUI Client
RemoteBukkit offers a very simple and easy to use GUI client which you can use to connect to the plugin. Just double click on the GUI's jarfile to run it. The GUI features a self-explanatory interface where you supply the hostname, port, username and password of the RemoteBukkit server.
Run the GUI with no arguments to open the Login Dialog. Run the GUI with the following arguments and it will attempt to use the supplied parameters to login automatically:
Use: [hostname:port] [user] [pass]
Switches
--help
- Prints this help message.
Console Client
If you prefer to use a console-based application to connect to the RemoteBukkit plugin you can too! The console argument syntax is very simple but the program but will print help information if you supply no/the wrong number of/invalid arguments:
Use: [hostname:port] [user] [pass] <switches>
Switches
--help
- Prints the help message.--nolog
- Instructs the server not to send any log information to the client.--exec <command>
- Sends <command> to the server and then terminates. Useful for scripts. Make sure that you surround commands containing spaces in inverted commas (e.g. "say Hello, World!").
Telnet Client (advanced)
RemoteBukkit also supports telnet connections. Just connect to the normal server port as you would with the console or GUI clients and then supply the server's username and then password on separate lines, followed by a third, blank line.
e.g.
$ telnet [hostname:ip] [user] [pass] [blank line]
Download
The latest plugin build can be downloaded here.
The latest GUI build can be downloaded here.
The latest console build can be downloaded here.
Latest Changes
Plugin v3.0.0
- Added multi-user support!
GUI v2.0.0
- Updated protocol version
Console v2.0.0
- Added
--nolog
switch - Updated protocol version
Planned Features
A standalone GUICompleted!Integration with BukkitGUI - With the help of BertwareCompleted!- Integration with RunBukkit - Another GUI for Bukkit which is not on BukkitDev (yet!)
How Can I Help?
This plugin is developed solely by me in my free time so:
- If you are a developer would like to contribute to this project, or any of my other projects, please PM me or email me at [email protected].
- If you are a not developer but would still like to contribute somehow, please consider donating. Donations are highly valued and much appreciated.
About
Developer: Keeley Hoek (escortkeel)
Any idea why when I use the GUI, i just get a lockup on he GUI? it connects goes orange and "done" but thats it..cant close the window, nothing, have to end task on java.exe
@escortkeel
Done! (It might take a little while for the file to actually get approved, but you can use the direct links at the top of the page and/or in the download section).
~
Keeley :D@Colinz25
Sure colinz25! No problem! I'll put out a release which has those features in a second.
I've just uploaded GUI v1.0.2, which fixed a bug where you can delete/replace/insert text in the console window.
~
KeeleyI'm loving the new GUI! Great work! However, would it be possible to make it so the GUI auto-scrolls down, so that you don't have to scroll down everytime someone does a command or messages in chat? Thanks!
@Mirrorsounds
Hi Riolu447!
Sorry that you didn't understand some of the stuff that I said, but writing that response actually really helped me figure out how I would go about adding restart support! I'm thinking of implementing some RemoteBukkit only commands (like restart) that are preceded with a special character (like a "."). How does that sound?
In other news...
The next version of everything is out! The plugin has been made much more efficient, the console has had a general cleanup and the the is now a GUI! It should be much easier to use than the console client. I spent a few hours decoding Bukkit's absurd flavor of the ANSI color code standard to develop some code which should display it correctly. I would really appreciate it if/when you find an incorrectly displayed color code you report it as a ticket on issue tracker. That would be awesome.
Happy RemoteBukkiting! :D
~
Keeley@escortkeel
Thanks for the interesting and detail response. Not being much of a coder myself i bit of that went over my head but i think i got most of it! As for why we restart instead of reload; spout bitches whenever i run /reload and some of the plugins won't fully refresh their configs and settings unless i do a full stop and start. I'm not sure why that is but that is just what i have found...
Thanks!!
Ok everyone! :D
I'm going to bed now, but I've finished coding major updates the the client and console, and most importantly I've finished a standalone GUI! Tomorrow morning I'll be able to release all of that cool stuff! :)
~
Keeley@Mirrorsounds
Haha!
I just realized that my whole essay of a response didn't answer you question! Hahahaha.
To answer you question (and this time keep it short and concise):
You'd have to be running a separate program on your PC to be able to do that. Specifically, its a planned feature for RunBukkit (a new project of mine). It's fully featured GUI remote administration tool of which a small component is RemoteBukkit. :D
Hopefully this response is a little more useful! :P
~
Keeley@Mirrorsounds
Well...
It isn't really a matter of the plugin API but how the plugin works. It (obviously) runs in the same Java VM as the server (because it's a server plugin). Because of this, if I bring the server down, it will close the virtual machine and the plugin will also close (and I will subsequently lose the ability to restart it).
What I could do though (and I'm investigating) is when a restart is initiated, create a thread that orders the server to stop by calling server shutdown routines and then call the main method of the MinecraftServer class to restart it. It'll be difficult to persist the arguments passed to the original server instance, though, but this may just be possible.
One question though, why do you want to restart the server? If you just want to refresh the plugins and command stuff, just run /reload. If it's to counter memory leaking and the like, I'm unsure of the effect that a "manually induced" restart like this would cause (due to the fact that the VM isn't physically shutting down.
Just then as I was writing the above, I just had another idea. Provided I had a way to recover the arguments of the original instance, I could "manually induce" a server shutdown and then that had finished, start an entirely new VM instance which would re-start the server.
Food for thought. :P
~
KeeleyEDIT: Because, if I start a new VM instance, memory leaking would be fully countered.
@escortkeel
hmm, the only thing that could make this better is the ability to restart the server if it is stopped.... but with a plugin based api i guess this isn't possible xP
Edit: hmm, could it be possible through jsonapi's remote toolkit thing? I'm sure but that MAY be able to start the server from a full stop.
@Mirrorsounds
Thanks riolu447! Then newest release fixed your issue! Whooot!
The update included a ton of bug-fixes and far better error handling which generally made the whole thing more robust.
Also, I really appreciate the fact that you even considered donating. :D
As always, thanks for using RemoteBukkit and I'm really glad your problem is solved!
~
Keeley :D@escortkeel
Whatever you did in that update fixed it perfectly! thanks so much, this is an amazing plugin!!
If i weren't a poor college student i would donate! xP
@Colinz25
Thanks Colinz25! I really appreciate your interest in the project! :D
Donating would be awesome! You can do it here or by clicking the donate button in the top right-hand corner of the page. I'd be happy to take any feature requests you like for the project and again, I really appreciate your support!
Thanks for using RemoteBukkit,
Keeley :D
I downloaded this last night, and was pretty impressed with it.
Have downloaded the updated console right now.. And boy, "impressed" doesn't even describe it. Very, very great plugin! Any way of donating? :)
@Mirrorsounds
Just a note.
I've just put out another minor release of RemoteBukkit which fixes a ton of bugs so you might want to check it out. :P
Thanks Again,
Keeley :D
@Mirrorsounds
Hi again riolu477!
That exception there means that the client did manage to resolve the hostname of the host you specified, but the host refused the connection. This can be for a number of reasons, but mainly because either the host's firewall blocked the connect request or the CraftBukkit server wasn't running/the RemoteBukkit plugin wasn't running on the server.
What I'll get you to do is to paste/screenshot the contents of your server console into a reply to this post. From there I'll be able to see if the plugin is running successfully and we can go from there.
Thanks,
Keeley
EDIT:The port that you specified might also be the problem. Would you mind posting the arguments you are supplying to the console client? (Of course you can censor the username and password :) ).
@escortkeel
Thanks, so the first derp was that i did not realize there was a plugin and client file XD.
I got the plugin working and a username and password set up.
I try to login and get this error, so just incase it is helpful i also did java -version.
@Mirrorsounds
Hi Riolu!
You need to make sure that only the plugin jarfile is inside the plugins directory of CraftBukkit. You should run the console jarfile using your operating system's terminal.
If you don't know how to do this, or are unsure, take a look at this GitHub issue in which another RemoteBukkit user had a similar problem and I provided a step-by-step guide on how to run the console client.
Coming really soon is a GUI client which you can just double-click to run!
Thanks for using RemoteBukkit, Keeley :D
I am getting the following error when the plugin tries to start about there not being files it needs.
http://pastebin.com/CQ3psDTJ
Thanks for the help!!
@Micky2506
You should see the ">" in the next update coming out in a few hours! :)
I haven't noticed the "say <message>" thing, so I'll have a look at that.
Thanks for using RemoteBukkit :D,
Keeley