Legacy Release 10 documentation

From Remote Toolkit Wiki
Jump to: navigation, search

The Remote Toolkit is a suite of components that provide server administrators with added automatic and remote control over a server. It supports scheduled restarts and saves, crash detection, remote control over some functions, console forwarding over telnet and in-game control over the toolkit.

Installation and startup

Wrapper installation

  1. Download the .zip provided in the Remote Toolkit thread.
  2. Create a new folder anywhere on your computer and extract the .zip there
  3. Open the serverdir folder (which should be where you extracted the .zip) and copy Minecraft_RKit.jar, the .sh/.bat files and the toolkit folder to the root of your minecraft server directory. (That's the folder with craftbukkit.jar in it)
  4. If your craftbukkit .jar is not named craftbukkit.jar, then you will need to open wrapper.properties (which is inside the toolkit folder) with your favorite text editor, and set minecraft-server-jar= to the name of your bukkit server jar file.
  5. Optional: If you need more than 1024M (1GB) of RAM allocated to your server, just edit initial-heap-size and maximum-heap-size to suit your needs.

Plugin installation

  1. Copy MinecraftRKitPlugin.jar from serverdir/plugins to the plugins folder of your server.

Starting the wrapper

  1. Depending on your operating system, open either the included.bat file or the included .sh file in your favorite text editor.
  2. If you are editing the .bat file, change the user and pass arguments in user:pass to a username and password of your choosing (e.g. bobby:ilikepies123). Otherwise, if you are editing the .sh file, change the USER and PASS variables to anything of your choosing.
  3. Double click the script, or run it from the terminal/cmd prompt!
Lightbulb.png Note: If you are using the .sh, remember to give execute permissions to it by navigating to the folder with the .sh in it and running the following command: chmod +x rtoolkit.sh


If you are experiencing problems with running it that way, try opening a terminal/cmd window, navigating to the directory that holds Minecraft_RKit.jar, and running the command:

java -Xmx30M -Xms30M -XX:MaxPermSize=40M -jar Minecraft_RKit.jar USER:PASS
Lightbulb.png Note: Remember to replace USER and PASS with something else!


User management

The Toolkit includes a basic user management system to help server admins control who has access to the Toolkit's various remote functions. There are a few important things to note if you want to make use of this:

Lightbulb.png Note: Users are stored in toolkit/users.txt. You should not need to manually edit this file!
Lightbulb.png Note: The user defined by user:pass when starting the Toolkit is added to the user list, but is not saved and will need to be re-entered the next time the Toolkit is started
Lightbulb.png Note: Once a user has been added through the console, the wrapper will no longer require the user:pass argument on startup
Lightbulb.png Note: Users can be listed in the console with the .users command

Adding a user

In the server console, enter the command .useradd <name> <password>. (Replace <name> and <password> with values of your choosing)

Removing a user

In the server console, enter the command .userremove <name>. (Replace <name> with the name of the user you wish to remove)


Controlling basic functions remotely

From the included graphical UDP client

  1. Double click the MinecraftRestartController.jar that is included in the UDP client folder of the downloaded .zip.
  2. Enter the username and password you set when you set up the remote toolkit. (If you left it as user:pass (you shouldn't have!) your username would be user and your password would be pass)
  3. Enter the hostname/ip of the server
  4. Enter the your salt string. NOTE: This can be found in remote.properties
  5. Select the action you want performed from the drop down list.
  6. press go. If successful, the status field should show "Server response: Success!". If it doesn't work, it will either show an error (please post the error in the forum thread) or it will just show "Timed out...".

From an iOS device

  1. Download the app UDP Tool+
  2. Change the Dest IP field to your server's IP address
  3. Change the port to the UDP port MinecraftRestarter is running on (default 25561)
  4. change the transmit message to: COMMAND:user:password (command can be either disable, enable, restart, forcerestart, forcestop, hold, unhold or version)
  5. Your server should carry out the desired action.

From an internet browser

  1. Visit https://drdanick.com/mcremote.
  2. Enter your server details (default port is 25561), select the action and press submit.
Lightbulb.png Note: If you did not explicitly pick a salt, the toolkit will generate a random one which can be found in remote.properties.


Accessing the console remotely

Linux/OS X

  1. In a terminal, enter the following command:
telnet address port
Lightbulb.png Note: Replace address with the address of your server and replace port with the remote control port of the wrapper. (default is 25561)
2. Enter either the username/password you set when starting the wrapper, or any other user that you have registered with the wrapper.

Windows

  1. Open the control panel and go to "Programs". Click "Turn Windows features on or off" which appears below "Programs and Features".
  2. Scroll down the list and look for "Telnet Client". Check the box beside it and click "OK".
  3. Follow through the instructions that come up. Restart if prompted.
  4. Now go to start and type "CMD.EXE". Open the program that comes up. Now type:
Lightbulb.png Note: Replace address with the address of your server and replace port with the remote control port of the wrapper. (default is 25561)
telnet address port
  1. Hit enter.
  2. Enter either the username/password you set when starting the wrapper, or any other user that you have registered with the wrapper.

or

  1. Download PuTTY
  2. Open PuTTY.exe
  3. Set your server address and remote port (default is 25561)
  4. Set telnet as the connection type and click open.
  5. Enter either the username/password you set when starting the wrapper, or any other user that you have registered with the wrapper.

Android

  1. Download 'ConnectBot' from the Android Market.
  2. Run the application and change the connection type from SSH to Telnet.
  3. Enter your server's IP address and the remote port specified in wrapper.properties separated by a colon. (e.g. 127.0.0.1:25561)
  4. Enter either the username/password you set when starting the wrapper, or any other user that you have registered with the wrapper.

or

  1. Download 'Terminal Emulator' from the Android market.
  2. Run the application and type the following:
Lightbulb.png Note: Replace address with the address of your server and replace port with the remote control port of the wrapper. (default is 25561)
telnet address port
  1. Hit enter.
  2. Enter either the username/password you set when starting the wrapper, or any other user that you have registered with the wrapper.

Example.

iOS

  1. Download 'iTelnet' from the Apple App Store.
  2. Run the application and select the '+' in the bottom left corner.
  3. Enter your server's IP address and the remote port specified in wrapper.properties in the last 'Port' prompt.
  4. Select 'Connect' in the bottom selection.

Commands

Console Commands

Note that all console commands pertaining to the wrapper are preceded by a single period ('.').

  • .help - Displays the list of console commands recognized by the wrapper.
  • .hold - Stops the server until .unhold is used. This is useful if you want to perform an update to Bukkit without stopping the wrapper.
  • .unhold - Unholds a held server.
  • .modules - Displays the list of currently loaded Toolkit Modules.
  • .shutdowntime - Displays the time left until the next Toolkit shutdown.
  • .restarttime - Displays the time left until the next server restart.
  • .restart - Gracefully restarts the Minecraft server.
  • .forcerestart - Forces the Minecraft server to restart. WARNING: This may corrupt your minecraft world!
  • .reschedulerestart <time> - Reschedules the next restart. The time parameter can either be in either the #h #m #s format, or the HH:MM format.
  • .rescheduleshutdown <time> - (Re)schedules a Toolkit shutdown. The time parameter can either be in either the #h #m #s format, or the HH:MM format.
  • .cancelshutdown <time> - Cancels a scheduled Toolkit shutdown.
  • .stopwrapper - Stops the wrapper along with the server.
  • .forcestopwrapper - Forcefuly stops the wrapper along with the server. WARNING: This may corrupt your minecraft world!
  • .users - Displays the list of users currently registered with the Toolkit.
  • .useradd <name> <password> - Adds a user to the Toolkit.
  • .userremove <name> - Removes a user from the Toolkit.
  • .set <option> <value> - Sets a value to an option. (NOTE: Enter '.set help' for a list of valid options and values)
  • .version - Displays the version of the wrapper.


In-game commands

  • /restartsrv <[username:]password> - Restart the server from in-game. If no username is provided, then the player's username will be substituted.
  • /holdsrv <[username:]password> - Hold the server from in-game. If no username is provided, then the player's username will be substituted.
  • /reschedulerestart <[username:]password> <time> - Reschedules the next server restart. The time parameter can either be in either the #h #m #s format, or the HH:MM format. If no username is provided, then the player's name will be substituted.
  • /stopwrapper <[username:]password> - Stops both the server and the Toolkit. THIS WILL SHUT THE SERVER DOWN AND WILL NOT RESTART IT


Configuration options

wrapper.properties

  • minecraft-server-jar - The name of the Minecraft server jar to launch.
  • extra-runtime-arguments - A comma separated list of arguments to be sent to the java runtime environment.
  • server-arguments - A comma separated list of arguments to be sent to the server process.
  • initial-heap-size - Initial amount of memory to allocate to the server. This is equivalent to the -Xms flag.
  • maximum-heap-size - Maximum amount of memory to allocate to the server. This is equivalent to the -Xmx flag.
  • overridden-process-arguments - Takes a space separated list of arguments and overrides the entire command the Toolkit uses to start the Minecraft server. For example setting this to java -Xms1024M -Xmx1024M -Djline.terminal=jline.UnsupportedTerminal -jar craftbukkit.jar is the same as running the wrapper with the default settings. Remember to include -Djline.terminal=jline.UnsupportedTerminal or the console will not work correctly!
  • server-restart-alerts - A list of times before a restart at which to warn players of a restart. It is in the same format as server-restart-delay, but it can take multiple values. For example, server-restart-alerts=1h 30m, 30m, 10m would warn the players at 1 hour 30 minutes before a restart, 30 minutes before a restart and 10 minutes before a restart.
  • server-restart-delay - The period at which to restart the server. It is in the format #h #m #s, where h = hours, m = minutes and s = seconds. For example, if you would want it to restart ever 3 hours and 30 minutes, you would set it as server-restart-delay=3h 30m (notice that #s has been omitted. You can omit segments that are not needed). Alternatively, a sequence of explicit times for restarts can be set. This is done by setting the property to a comma separated list of 24hr times in the format HH:MM. For example, setting it to 09:30,15:30,00:00 would have it restart at 9:30am, 3:30pm and 12:30am. Setting this option to 0 will disable restarts.
  • server-saveall-period - The period at which to perform a save-all. Values should be in the #h #m #s format as specified above. Setting it to 0 will disable automated saves.
  • forced-restart-delay - The amount of time to wait after a scheduled restart is meant to occur before forcing the server to restart. This acts as a failsafe in the event that the toolkit cannot restart the server normally.
  • toolkit-autoshutdown-delay - The amount of time to wait before shutting the toolkit (and server) down. Time is specified in the #h #m #s or HH:MM format. Leave blank to disable.
  • toolkit-autoshutdown-alerts - A list of times before a shutdown at which to warn players of a shutdown. It is in the same format as server-restart-alerts.
  • force-save-on-restart - True if a save-all should be forced on a server restart/hold/shutdown, false otherwise.
  • restart-on-severe-exception - True if the server should restart on some "SEVERE" exceptions, false otherwise.
  • severe-exception-detection-level - Sets the aggressiveness of the severe exception detection algorithm. Aggressiveness is defined by an integer between 1 and 3 (inclusive), where 1 is the least aggressive and 3 is the most.
  • disable-heartbeats-on-missing-plugin - True if heartbeat restarts should be disabled when the bukkit plugin is not detected, false otherwise.
  • server-heartbeat-threshold - Sets the amount of time the Toolkit wrapper waits before sending a heartbeat request to the Toolkit plugin.
  • failed-heartbeat-restart-count - Sets the number of unanswered heartbeat requests required before a server restart is forced.
  • filter-ansi-escape-codes - Set whether or not the toolkit should filter out ansi escape codes (such as colors) from the server console. This can be set as either true, false or auto.
  • enable-jline - True if jline console formatting should be enabled, false otherwise.

remote.properties

  • remote-control-port - The port to bind the remote control servers to.
  • remote-bind-address - The address to bind the remote control servers to. NOTE: In most cases this should be left blank
  • auth-salt - The string that is concatenated with both the username and password before being hashed. If this is key does not exist, the toolkit will generate a random salt.
  • telnet-enabled - True if the telnet server is enabled. False otherwise.
  • utf8-support-enabled - True if utf8 encoding should be supported for telnet clients, false otherwise.
  • shell-password-mask - The character(s) to use when masking password input.
  • shell-input-echo - True if the telnet shell should echo each character typed, false otherwise.
  • message-playback-count - The number of console lines to send to users connecting to the remote console.

messages.txt

  • restart-kick-message - The kick message used to alert players that the server is being restarted.
  • toolkit-shutdown-kick-message - The kick message used to alert players that the server is shutting down.
  • hold-kick-message - he kick message used to alert players that the server is being held.
  • restart-time-warning - The warning given when a restart alert is scheduled to occur. %t is substituted for the time remaining.
  • restart-warning - Sent to all players approximately 3 seconds before the server is restarted.
  • toolkit-shutdown-time-warning - The warning given when a shutdown alert is scheduled to occur. %t is substituted for the time remaining.
  • toolkit-shutdown-warning - Sent to all players approximately 3 seconds before the server is shut down.
  • hold-warning - Sent to all players approximately 3 seconds before the server is held.
  • auto-save-start - Sent to all players when an auto-save event has started.
  • auto-save-complete - Sent to all players when an auto-save is completed
  • restart-time-left - Reply to players asking for the restart time. NOTE: This is not implemented yet!
Lightbulb.png Note: Setting any of the above to a blank string will prevent the associated message from being displayed.