SignJump - Jump to another server with a sign Version: v5 This allows Ops to set signs as inter server connection points. This doesn't require any link-up step with the admin of the other server. It just orders the client to connect to a particular server. This doesn't do anything like inventory transfer. This was intended as a demo of the reconnect method in Spout and also the Spout data attachment system. Features: Auto connect to other servers using signs Dependencies Required This requires the Spout plugin Recommended (one of the following needed for auto reconnect) Spout client Server Port patch Transporter patch CraftProxyLiter Download Source Code Old Releases Instructions Setup - using a glass block You need OP permission to enable signs. The sign should be of the following format Line 1: doesn't matter Line 2: Hostname of server Line 3: port number (blank = 25565) Line 4: doesn't matter Once the sign is placed, an OP must click on the sign with a glass block. To break the link, the Op can click with the glass block again. You can change the block type by editing the trigger value in the config file to a different id. Setup - using a command If an Op points at a sign and enters /signjump some.very.long.hostname.com This is the equivalent of clicking with a glass block, but it uses the provided hostname, instead of the one on the sign. This port number (or blank) is still taken from the sign. Usage If any player clicks on the sign, they will be kicked and reconnect to the other server. If their client doesn't support reconnecting, the kick message will tell them to reconnect. Spout clients and client patched using the ServerPort patch or the Transporter patch should all support the reconnect. Also, Craft Proxy supports the reconnect. Changelog: Version 3 Initial version Version 4 Add command so that long hostnames can be supported Version 5 Added support for wall signs
you should change the wording of what is required. with spout client you dont need any of the other patches.
I could create a /command that sets it. Maybe, while holding a glass block, you type: /signjump server-name other.server.reallylongdomain.com:12345 and it will set the sign to other.server.reallylongdomain.com and display server-name instead of the domain name.
I'm new to this. So when I put the plugin into bukkit\plugins and run the .bat file to start the server I get this "Could not load 'plugins\SignJump.jar' in folder 'plugins': Spout". I'm putting the .jar file in the plugins folder so idk am I doing anything wrong? Also I have put other mods into the same location and they work 100%. Plz help!!!
Seems the plugin will not link signs that are on walls, only on the ground. Says "target is not a sign" until I place it in the ground.
/me looks at sign /signjump remotehostname output: [Signjump] target is not a sign >.< using latest spout & signjump edit: right-click with glass never worked eather
I updated the code. I had it check that the block was of type SIGN or SIGN_POST. It should have checked for WALL_SIGN or SIGN_POST. SIGN means the sign item, so would never have matched.
@Raphfrk i looked at your src and i just (don't) get out how the player get kicked (reconnect). I think you use the default spout reconnecter. Can you please use; player.kick -> Be cause if a player has the client patch he get to the other server. If not he get kicked by the plugin, but i want to change the kick message, you know ?
The kick message is a special message that the Spout client uses to know where to send the player. In fact, if you kick a player with "[Redirect] any message that you like : minecraft.some.server.com : 12345", it will connect to minecraft.some.server.com:12345. This should work even if you don't have Spout installed (and the player was using the client). Sign Jump uses other Spout functionality, so still needs Spout. This is the spout code that formats the kick message. Code: public void reconnect(String hostname, int port) { if (hostname.indexOf(":") != -1) { throw new IllegalArgumentException("Hostnames may not the : symbol"); } this.kickPlayer("[Redirect] Please reconnect to : " + hostname + ":" + port); } @Override public void reconnect(String hostname) { if (hostname.indexOf(":") != -1) { String[] split = hostname.split(":"); if (split.length != 2) { throw new IllegalArgumentException("Improperly formatted hostname: " + hostname); } int port; try { port = Integer.parseInt(split[1]); } catch (NumberFormatException nfe) { throw new IllegalArgumentException("Unable to parse port number: " + split[1] + " in " + hostname); } reconnect(split[0], port); } this.kickPlayer("[Redirect] Please reconnect to : " + hostname); } Also, (ahem), the latest spout now allows you set the message when using reconnect. EDIT by Moderator: merged posts, please use the edit button instead of double posting.
Hey raphfrk.. when i put the plugin in the plugin folder.. it cant load it.. like it never has been there ?? Help !