Inactive [TP] Transporter v7.2 - Teleportation between gates, worlds, and servers [1185]

Discussion in 'Inactive/Unsupported Plugins' started by frdfsnlght, Jun 22, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    frdfsnlght

    Transporter - Teleportation between gates, worlds, and servers

    This support thread is no longer active. Please visit the project's new site on BukkitDev:

    Version: 7.2

    Make sure to read the Release7 wiki page for important information before you upgrade from v6!

    For the absolute latest information about the plugin, including source, see the Google project site.

    Thanks goes to Raphfrk, whose Server Port plugin served as inspiration.

    If you like this plugin, please consider donating.​
    donate.png

    Features:
    • Teleport between gates in the same world
    • Teleport between gates in different worlds (multiworld support)
    • Teleport between gates on different servers (includes client patcher)
    • Teleports minecarts and boats, with or without a player
    • Server to server chat based on gate proximity
    • Inventory and health transfer (including storage minecarts)
    • Includes client patcher for automatically reconnecting clients
    • No need for client patcher if you're running the BukkitContrib or Spout client
    • Supports server proxies like CraftProxy (v6.9)
    • World creation/loading/unloading (v6.9)
    • Built-in command help
    • Extreme gate design possibilities, including 3D and horizontal
    • Supports gate access using player specific PINs
    • Item banning and transmutation
    • Built-in simple permissions system
    • Permissions plugin integration (preferred)
    • PermissionsEx plugin integration (preferred)
    • iConomy plugin integration
    • BOSEconomy plugin integration
    • Dynmap integration
    • Minecraft-Overviewer integration
    • and more to come...
    Links:
    Changelog:
    v7.2
    • Added client patching for client 1.8.1 (1.8.0 was skipped).
    • Supports RB 1185.
    • Can now remove bad gate links (issue 35).
    • Changed world loading to be delayed after server start.
    • Minor tweaks here and there.
    v7.1
    • Fixed Dynmap integration; requires Dynamp v0.22 or above.
    • Added more customizable gate messages.
    • Now enforces gate permissions on player interactions.
    • New permission `trp.gate.changeLink.<gate>` to limit ability to change gate's current link.
    • Fixed gates not saving to disk properly.
    Changelog for Older versions (open)

    v7.0
    • Working with CB RB 1060
    • Too many things to list here. See the Release7 wiki page for IMPORTANT INFORMATION BEFORE UPGRADING.
    v6.10
    • Working with CB RB 1000
    • Utilizes latest CraftProxy redirect detection so no more need for the craftProxy config setting
    • Compatible with BukkitContrib for client side redirects, so no need for the client patcher if you already have BukkitContrib client side installed
    • Tightened up network protocol handshaking
    • Server to server keepalives with automatic reconnection
    • Prevention of stationary liquids used for portal blocks from flowing under certain circumstances
    • Config setting for custom inter-server chat message formatting
    • Elimination of the minecraftAddress config setting; now it's done on a per-server basis as an additional argument to the "trp server add ..." command; this will almost certainly require you to change your existing server connections, but there are some sensible assumptions made that may allow many setups to "just work"
    • Automatic conversion of servers.yml into the main config
    • New debug command to submit debugging data to my web server so I can review it if necessary
    • Fixed "trp world go ..." command
    v6.9

    • Added world commands.
    • Added gate destroy command.
    • Added CraftProxy support.
    • Change semantics of minecraftAddress global setting.
    v6.8

    • Updated client patcher for MC 1.7.3.
    • Fixed client/server errors when teleporting in CB 953.
    v6.7

    • Updated client patcher for MC 1.7.2, CB 953.
    v6.6

    • Autoloads worlds linked to from local gates.
    v6.5

    • Fixed client patcher. If you've patched the client with a previous version, you must reapply the patch.
    v6.4

    v6.3

    • Added client patcher.
    • Changed client reconnect kick messgaes - now requires new client patcher.
    v6.2

    • Tweaked spawn position when exiting gates.
    • Removed debugging code.
    • Added "Booth" and "Small" gate designs.
    v6.1

    • Fixed problem of network not shutting down properly.
    • Fixed minecarts going server-to-server.
    v6

    • First publicly available release.
    v1-v5

    • Never saw the light of day.
     
    vrox, Hwo, wassilij and 1 other person like this.
  2. Offline

    sbeex

    Thank you for your answer so I made some changes and now my config files look like this (I try it only between 2 servers to begin)

    Server1 config.yml :
    Code:
    minecraftAddress: localhost
    listenAddress: 0.0.0.0
    serverKey: transporter
    bannedAddresses:
    reconnectInterval: 60000
    reconnectSkew: 10000
    arrivalWindow: 20000
    allowBuild: true
    allowLinkLocal: true
    allowLinkWorld: true
    allowLinkServer: true
    useGatePermissions: false
    exportedGatesFile: dynmap/gates.json
    impersonateServerportReconnect: false
    usePermissions: false
    useIConomy: false
    chatFormat: <%player%@%server%> %message%
    debug: false
    servers:
    -   enabled: true
        minecraftAddress: '25555'
        name: server2
        pluginAddress: 152.152.152.152
        key: bukkit
    
    Server2 config.yml :
    Code:
    minecraftAddress: localhost
    listenAddress: 0.0.0.0
    serverKey: bukkit
    bannedAddresses:
    reconnectInterval: 60000
    reconnectSkew: 10000
    arrivalWindow: 20000
    allowBuild: true
    allowLinkLocal: true
    allowLinkWorld: true
    allowLinkServer: true
    useGatePermissions: false
    exportedGatesFile: dynmap/gates.json
    impersonateServerportReconnect: false
    usePermissions: false
    useIConomy: false
    chatFormat: <%player%@%server%> %message%
    debug: false
    servers:
    -   enabled: true
        minecraftAddress: '25556'
        name: server1
        pluginAddress: 152.152.152.152
        key: transporter
    
    What's wrong ? I putted 2 different port for transporter : 25555 and 25556
    My mc servers adresses are :
    server1 : 152.152.152.152:25565
    server2 : 152.152.152.152:25566

    Do I have to replace "listenAddress" or "minecraftAdress" ?
    Thank you :)
     
  3. Offline

    frdfsnlght

    Ok, so you'll need to learn a bunch about networking to fully understand the problems you're having, but this is not the place to learn it. So, on the first server, run "trp debug submit MyUserName1" command (substitute you're user name in the "MyUserName1" spot), and on the second server, run "trp debug submit MyUserName2". Those commands will send me a bunch of information (hopefully they'll work correctly) from which I can probably tell what's going on.
     
  4. Offline

    SakabaShogun

    i sent the debug, my username is SakabaShogun. on my friends server he did the same, his username is Jpl13027
    thank you for responding :)
     
  5. Offline

    frdfsnlght

    You're having similar problems to @SakabaShogun. You're configs are messed up. Here's some networking 101 for both of you:

    The MC server listens on a network interface and port. The plugin also listens on a network interface and port, usually the same address as the MC server, but the port HAS TO BE DIFFERENT. If you run another MC server on the same computer, it's port HAS TO BE DIFFERENT than the port of the first MC server, and likewise for the plugin's port. A network interface is commonly specified as an IP address that is assigned, and the address "0.0.0.0" means "all the network interfaces".

    You have to know the both the MC and plugin ports in order to correctly configure the plugin. The MC server's port is in the server.properties file as the "server-port" property. The plugin's port is in the plugin's config.yml file as the "listenAddress" and is settable using the "trp server set listen ..." command. If you set the plugin's listen port, you HAVE to provide an address part, and optionally a port number. In general, you use "0.0.0.0" as the address part, which tells the plugin to listen on all network interfaces. If that's all you specify, it will listen on the default plugin port of 25555. If you want to change the port, append a colon and the port number to the address. For example, "trp server set listen 0.0.0.0:25556" tells the plugin to listen on all network interfaces, on port 25556 (and if it wasn't clear, a network interface IS NOT a port; they are different things and that's why I use different words for them).

    Now, where was I... Oh yeah... Assuming you're still running 2 servers on the same computer, you use the "trp server add ..." command to tell the plugin running in one MC server how to connect to the plugin running in the other MC server. So the first address/port in the command HAS TO BE the address/port of the plugin running in the other server. On the same server, that means an address of "localhost" or "127.0.0.1" (they mean the same thing), and the port of the plugin on the other server.

    The command takes ANOTHER, OPTIONAL address/port at the end of the command. That address/port tells the plugin the address/port a player traveling to that server should reconnect to. That address/port must be for the other MC server (NOT the plugin running in that server). So, if you're on the same server, that should be "localhost" or "127.0.0.1", but only if the other MC server is running on the default port of 25565 (according to the server's server.properties file). If it's NOT running on the default port, append a colon and the appropriate port number to that address.

    Here's an example:

    Server 1:
    server.properties:
    server-ip= (blank means listen on all interfaces, the default)
    server-port=25565 (the default port)
    config.yml:
    listenAddress: 0.0.0.0 (means listen on all interfaces, on port 25555, the default)
    serverKey=myKey1


    Server 2:
    server.properties:
    server-ip= (blank means listen on all interfaces, the default)

    server-port=25566 (non-default port)
    config.yml:
    listenAddress: 0.0.0.0:25556 (means listen on all interfaces, on non-default port 25556)
    serverKey=myKey2

    Now, on Server 1:
    Code:
    trp server add server2 myKey2 localhost:25556 localhost:25566
    On Server 2:
    Code:
    trp server add server1 myKey1 localhost:25555 localhost:25565
    At this point, I should mention the example will only work if your client is also running on the same computer as the servers. If it's not, you won't be able to travel between the servers because the plugin will be telling your client to reconnect to "localhost:25565" or "localhost:25566", which is not where the MC server is, since it's on another computer, not localhost. If you change the second address of each command to the "public" address of the server computer, that should work better.

    Firewalls add other problems which might not allow the example to work.

    In the upcoming v7.0, lots of this explanation changes. Some of it gets simpler because the plugin will make more intelligent guesses at optional stuff, but some of it gets more complicated because NAT'ing and firewalls make my life difficult.

    I've gone on long enough and really need to get back to other stuff now. I hope this has been useful to someone.
     
  6. Offline

    sbeex

    It works NOW I've read and read and read again the wiki you did and it works now :) Thank you !

    Just a question with the pin system can we add Groups ? or only players ?

    Thank you :)
     
  7. Offline

    frdfsnlght

    Yes, the plugin does it's own network thing outside of the MC server. It both listens for incoming connections from other Transporter plugins on other servers, and makes outgoing connections to other Transporter plugins on other servers.

    So you got it working? I don't have to look at the debug stuff I had you send in?

    Only players. Player's of course, can share a single PIN if they want. PINs are really a very simple permissions scheme. If you want to get into more complicated authorization schemes, use another plugin like Permissions (and turn on the setting in config.yml to make Transporter work with it). Then you can handle groups and all sorts of stuff. But it's more complicated. In v7.0, I also support PermissionsEx.
     
  8. Offline

    sbeex

    yes you don't need it works :) I've understood how it works now Thank you ! If I can help you for a french translation of your documentation just ask me ;)

    I use permissions and I would like to do only GroupA can pass GateA and groupB only GateB etc. I'll read the documentation ;)

    Is version 7.0 available for betatest ? ^^

    And I've got another small problem. I would like to create a reverse link between server1 and server2. It's written we can't with the command. But is it possible with an other method ? (ie : editing manually files or signs in-game ?)

    Thank you :)
     
  9. Offline

    frdfsnlght

    You've got it backwards. The only way to create the reverse link for server-to-server gates is with the "trp gate link add ..." command, but on the other server.

    What happens on the server console when the client crashes? Is there an exception like this:
    Code:
    19:30:46 [WARNING] Failed to handle packet: java.lang.NullPointerException
    java.lang.NullPointerException
            at net.minecraft.server.ItemStack.a(ItemStack.java:199)
            at net.minecraft.server.InventoryPlayer.f(InventoryPlayer.java:120)
            at net.minecraft.server.EntityHuman.v(EntityHuman.java:183)
            at net.minecraft.server.EntityPlayer.v(EntityPlayer.java:281)
            at net.minecraft.server.EntityLiving.m_(EntityLiving.java:218)
            at net.minecraft.server.EntityHuman.m_(EntityHuman.java:97)
            at net.minecraft.server.EntityPlayer.a(EntityPlayer.java:193)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:299)
            at net.minecraft.server.Packet10Flying.a(SourceFile:126)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:89)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:454)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    That's what I'm getting while I'm testing v7.0 of my plugin on RB 1060 with SpoutCraft client and my own patched client after a teleport to another server. Seems to be something different in how inventory is handled in 1060?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  10. Offline

    SakabaShogun

    alright, so using my server as an example, 69.62.195.204:25567, i would have to open up the config file and at the end of the 0.0.0.0:25567?
    or have i misunderstood?
    we tried that and we're still having some troubles.
     
  11. Offline

    THG3

    @frdfsnlght

    Keep at it! I love your plugin. Hopefully it's 1060 rdy soon
     
  12. Offline

    Joelyyyy

    Hey, I'm not sure if this has been addressed before as my quick searches brought up nothing.
    I am having issues with cross server chat coming up as <%player%@%server%> %message% - exactly how it is in the config.
    Am i missing something? I tried disabling HeroChat on both servers to no avail.
    Could it be a conflict with a different plugin?
    Do you need to have the client patched for both users in order to see the messages?

    Thanks :)

    edit:
    I've also noticed that when you perform a reload or stop from the console or in-game it frequently causes it to hang at "[Transporter] disconnected from <server> (##.##.##.##/#####)"
     
  13. Offline

    Ctr393

    how do you link worlds
     
  14. Offline

    sbeex

    You need to build 2 gates (one on each world)

    World name "world"
    /trp design build Nether
    Then,
    write the gate name on the first line of the sign (ie : world2test)
    World name "test"
    /trp design build Nether
    write the gate name on the first line of the sign (ie : test2world)

    Linking these 2 gates with reverse :
    /trp gate link add world.world2test test.test2world reverse

    And now it should work ;)

    All the documentation is available here :
    http://code.google.com/p/bukkit-transporter/wiki/QuickStart
     
  15. Offline

    frdfsnlght

    This is a known issue with v6.10. Fixed in v7.0.

    I've never experienced that. We'll have to see if it happens when v7.0 comes out and debug from there since a bunch of networking stuff is rewritten.

    Sorry, but I have no idea what you're asking.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  16. Offline

    SakabaShogun

    in the config.yml file, there is the line "listenAddress: 0.0.0.0"
    if i read what you said correctly, we needed to add the port our servers were using to the end of it.
    so the new line would read "listenAddress: 0.0.0.0:25567" and both of our servers use the 25567 port.
    is this correct?
     
  17. Offline

    Hryniu

    Is there anyway to toggle the messages after each teleport ?
     
  18. Offline

    frdfsnlght

    No. The listenAddress is the address and port the plugin listens on. I believe the 25567 port is the port your MC server is listening on (from server.properties)? If that's true, then you need to specify that port when you add the server.

    I'm not sure what you mean, but I think the answer is no. Could you elaborate on the functionality you're after?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  19. Offline

    Hryniu

    I would like to turn off the communicates, after each teleport when it says "[Transporter] Teleported to ... ", so it doesn't show up to my players.
     
  20. Offline

    frdfsnlght

    Ah. I'll add it as a feature request. Seems simple enough.
     
  21. Offline

    Hryniu

    Thanks.. Man you greate.. I use this as a elevator and other, and i dont want them to come up, as its an RPG server.. Thanks.. When are you going to release the next version ?
     
  22. Offline

    frdfsnlght

    I was planning on this week, but that ain't gonna happen. Real life keeps getting in the way and having a job sucks. I'm doing what I can and I'm cautiously hopeful for a release next week.
     
  23. Offline

    lmazon

    Here's another feature request:

    An option to echo login and logout messages across servers, similar to the chatRelay functionality. This way, users on one server can be aware of the comings and goings of users on the other server(s) making it more of a community. =D
     
  24. Offline

    Ctr393

    i tried that it didn't work
     
  25. Offline

    SakabaShogun

    alright yea, we did that on both of ours. for some reason though they aren't even finding eachother now.
    originally they connected, but when i used a portal, it took me to the wrong server.
     
  26. Offline

    Hryniu

    I don't know if you plan on doing it, but you also should do something about a command /trp pin - so next time you log in to the server, it remembers the pin, and you don't have to type it in each time.
    And could you make the "small" design, work with only one sign ?
     
  27. Offline

    frdfsnlght

    I'll see what I can do.

    2 signs was the way I wanted the design to work. If you want to change it, go ahead and change it. You're free to modify the designs and add new ones however you see fit.
     
  28. Offline

    wiked111

    I have noticed that when porting from server to server if you die and loose items in one server and log out and back into the server you were on before you ported you get your full inventory back and then your free to port through and pickup you dropped items. Makes it real hard if you run an economy. Have I not configured something or is it a bug ?
     
  29. Offline

    frdfsnlght

    Neither. I just haven't implemented anything to take care of the problem yet, but I have a plan.
     
  30. Offline

    wiked111

    Plans are good, i like plans. Is it an easy plan to implement ? I don't want to seem impatient atop all your many millions of things that occur including life.
     
  31. Offline

    Mathew Alden

    Hi. I love the plugin. The only thing is, my server's laggier... does the plugin suck power or am I doing something else wrong?
     
Thread Status:
Not open for further replies.

Share This Page