Ancient Gates - BungeeCord teleportation.
This plugin can teleport any player, entity (incl. passenger) or vehicle (incl. passenger) that enters that gate to the designated location and/or execute a command. With the addition of BungeeCord, not only can this plugin teleport all of these across worlds and/or execute commands but it can teleport them across servers and execute commands on the other server.
To get started, set bungeeCordSupport to true in config (conf.json).
Basic BungeeCord Usage
To enable BungeeCord support, open config (conf.json) and set the following:
"bungeeCordSupport" to true
This provides basic BungeeCord support, through BungeeCord's messaging system and gives you the following additional commands:
/gate setto [id] [fromserver] - Set “to” to your location on a remote server.
/gate setbungeetype [id] [location/server] - Set teleportation type on the local server.
/gate addto [id] [fromserver] - Add another "to" at your location on a remote server.
/gate remto [id] [fromserver] - Remove a "to" near your location on a remote server.
To create a BungeeCord gate you simply create the gate as you would any other gate, but when setting the "to" location, you teleport to the other server first using /server [toserver], pick a location and then type /gate setto [id] [fromserver].
If you wish for your BungeeCord gate to only teleport the player to the server and not a specific "to" location on the server. Use the command /gate setbungeetype [id] SERVER on the server the gate resides. Each time the player enters the gate they will teleport to their last location on that server.
Remember - You MUST be connected to the server through the BungeeCord proxy, otherwise these commands and teleports will NOT work.
Advanced BungeeCord Usage
BungeeCord's messaging system only provides one-way communication. So typing the command "/gate setto [id] [fromserver]", for example, will send the command to the external Bungee server but not provide a response back (i.e. Gate doesn't exist, etc.). To provide seemless BungeeCord integration, you need to enable Socket Comms.
To enable Socket Comms, open config (conf.json) and set the following:
"useSocketComms" to true
"socketCommsPort" to an available TCP port (each AncientGates instance needs its own port)
"socketCommsPass" to an appropriate password to encrypt server-server comms.
Setting this up for each server will enable socket communication between the plugins and give access to the following commands:
/gate addserver [name] [address:port] [password] - Make a Bungee server known.
/gate remserver [name] - Remove a known Bungee server.
/gate serverlist,serverls - Display a list of the known Bungee servers.
To link up the servers via socket comms you need make each AncientGates plugin aware of its neighbouring servers. To do this, we type the command /gate addserver [name] [address:port] [password] for EACH server. We get this information from the config (conf.json) of each server.
[name] is the name referred to when you type "/server [name]".
[address] tends to be 127.0.0.1 unless the server risides elsewhere.
[port] is the "socketCommsPort" you set in the config (conf.json) of the server you are adding.
[password] is the "socketCommsPass" you set in the config (conf.json) of the server you are adding.
Once you've added all these servers onto one of your AncientGates instances, you will notice a new file has been created called servers.json. You can copy this file to the config directories of all you other servers to save repeating the process for each instance.
A BungeeCord setup video has kindly been put together on YouTube by BoundHacker.
Example BungeeCord Configs
Example conf.json file for server1
Example conf.json file for server2
ancientgates.setto.local - access to the setto command locally.
ancientgates.setto.bungee - access to the setto command externally.
ancientgates.setbungeetype - access to the setbungeetype command.
ancientgates.addto.local - access to the addto command locally.
ancientgates.addto.bungee - access to the addto command externally.
ancientgates.remto.local - access to the remto command locally.
ancientgates.remto.bungee - access to the remto command externally.
ancientgates.addserver - access to the addserver command.
ancientgates.remserver - access to the remserver command.
ancientgates.serverlist - access to the serverlist command.