Jump to content

  • Curse Sites
Become a Premium Member! Help
Latest News Article

Cross Server Teleportation


  • Please log in to reply
14 replies to this topic

#1

Thebeast

Posted 29 June 2011 - 08:06 AM

My idea is involves teleporting between servers. Currently, you disconnect from the server, click Multiplayer, enter the next server's information, and press connect to jump between servers. My idea will make is possible to jump between them with portals.

Basically, the servers would be running completely independent of each other, besides maybe linked inventories. Each side would obviously need to enable teleportation to each other. To prevent banned people from joining a server and bypassing his ban, make it check the banlist and essentially simulate the player logging in. The chats would also be linked together, so if somebody says something on one server, you can hear them on another. Each server would have their own map, and it would essentially be like jumping between worlds, except that you are also changing connections.

This will open up a whole new dimension to server hosting and playing smp. You could use server or computer clusters to host individual maps, then link them together so you can run a pretty powerful server off of weaker systems. If one server is down, the teleport just wouldn't be available. This de-centralization could render DDoS attacks useless unless you take every part of the server offline. It would also allow servers to be allied and come together to form a world of servers, with each server being like a country. The possibilities are endless.

Such a thign is very possible. It has already been demonstrated in these two bukkit plugins:
http://forums.bukkit...ervers-818.777/
http://forums.bukkit...vers-928.22670/

However, these two plugins require client modification, which means anybody who wants to use it needs to patch their client. Who has the ability to modify every server and client to have built in support of features like this? The good coders over at Mojang  :rolleyes:

These concepts are very intriguing and have been done, now it's time for the next step to be taken.

Register or log in to remove.

#2

XTTEXTREME

Posted 29 June 2011 - 08:11 AM

good idea

#3

nikolai2960
  • Minecraft: nikolai2960

Posted 29 June 2011 - 08:14 AM

really good idea! but so theres also some downsides, like griefers block up the portal so when you came in the other server you were trapped, and so it also would make much lag (i think)

Posted Image

remember that when you like a post then click the + in the lower right corner

#4

Thebeast

Posted 24 July 2011 - 04:08 AM

View Postnikolai2960, on 29 June 2011 - 08:14 AM, said:

really good idea! but so theres also some downsides, like griefers block up the portal so when you came in the other server you were trapped, and so it also would make much lag (i think)
Well, blocking the portal wouldn't be that big of a deal. Server admins could also just protect the portal area so no blocks can be placed in that area. As for lag, I don't think it would cause any. It would just be like a nether portal, but instead of sending the player to a new spot, it reads an IP that the portal is linked with, disconnects the player, and attempts to connect to the IP it read from the portal. Then once you're in the new server, it would send you to where the portal's exit point.

#5

SeriouSquid
  • Location: Charging Through the Gates of Hell
  • Minecraft: SeriouSquid

Posted 24 July 2011 - 05:19 AM

The whole linked inventory thing can easily be abused.

Imaging you're in a hardcore PVP server.
You then go to a creative server where you can spawn whatever the hell you want.
Go back.
Raise hell.

Though, I think we should be able to look at server history. Such as a list in-game of recent servers you've visited.
Do you even lift?

#6

CasparW
    CasparW

    Tree Puncher

  • Members
  • 11 posts

Posted 06 May 2013 - 10:08 AM

View PostSeriouSquid, on 24 July 2011 - 05:19 AM, said:

The whole linked inventory thing can easily be abused.

Imaging you're in a hardcore PVP server.
You then go to a creative server where you can spawn whatever the hell you want.
Go back.
Raise hell.

Though, I think we should be able to look at server history. Such as a list in-game of recent servers you've visited.


That wouldn't happen because there different servers and there inventory would automaticly change! I have made this plugin so your in luck! Its for any version of minecraft: Visit http://dev.bukkit.or...mods/bukkitlink to download!

#7

Dyzalonius
  • Location: Netherlands
  • Minecraft: Dyzalonius
  • Xbox:Dyzalonius

Posted 06 May 2013 - 10:22 AM

This can already be done.
What would be the use of jumping between servers,
as you could also have a server with multiple worlds..
The only use is if you and your friend both run a server,
and you want to link them.
But that can be done,
so what would be the use of this?

Posted Image

#8

Deonyi
    Deonyi

    Enderman Ender

  • Curse Premium
  • Curse Premium
  • 9019 posts
  • Location: Arsby, Loweshire
  • Minecraft: Deonyi

Posted 06 May 2013 - 10:34 AM

No Support.

Is pressing ESC, Quit, Multiplayer, Server

so hard?

Posted Image


#9

Mrdiamonds
  • Location: You know that tree? Yeah, I'm behind that tree.
  • Minecraft: Sup_Trooper
  • Xbox:What's an Xbox?

Posted 06 May 2013 - 02:50 PM

View PostDeonyi, on 06 May 2013 - 10:34 AM, said:

No Support.

Is pressing ESC, Quit, Multiplayer, Server

so hard?
I'm pretty sure you can't chat with people on different servers, or share inventories between servers.

It might be added into 1.5.2 and I didn't notice, did it? *sarcasm*

Consider the whole suggestion and not a little piece.

Quote

But the sand and rocks here, stained with thousands of years of bakery... They will remember us. For this. Because out of our vast array of recipes, this is the one we choose for ourselves. We go forward like steam exhaled from the oven. With sugar in our veins and one taste in mind. We'll. Bake. Cookies.
-Mrdiamonds

#10

timvisee
    timvisee

    Tree Puncher

  • Curse Premium
  • Curse Premium
  • 29 posts

Posted 08 May 2013 - 01:16 PM

View PostDyzalonius, on 06 May 2013 - 10:22 AM, said:

This can already be done.
What would be the use of jumping between servers,
as you could also have a server with multiple worlds..
The only use is if you and your friend both run a server,
and you want to link them.
But that can be done,
so what would be the use of this?
It's very easy to understand where you could use this for. It's to spread out the heavy server load. For example, with a server with 2000 you probably need to do this to keep everything smooth and running. If you have a lot of minigames on your server most big servers have separated servers for every game.

View PostMrdiamonds, on 06 May 2013 - 02:50 PM, said:

I'm pretty sure you can't chat with people on different servers, or share inventories between servers.

It might be added into 1.5.2 and I didn't notice, did it? *sarcasm*

Consider the whole suggestion and not a little piece.
Well this is already done with a plugin I personally made for Bukkit servers, the only thing I can't get to work is the mutli server teleportation. But inventories, chat, other messages and stuff works prefectly fine ;).

To developers:
Simply set up a listener server on one server, and connect with clients you create on the other servers. Just use a different port than your Minecraft server is using.

Tim Visée

#11

Deonyi
    Deonyi

    Enderman Ender

  • Curse Premium
  • Curse Premium
  • 9019 posts
  • Location: Arsby, Loweshire
  • Minecraft: Deonyi

Posted 08 May 2013 - 01:20 PM

Share chat. So a server would have to deal with the chat of other servers? It would spam the chat even more. Also, why would you need to share inventories between servers? Surely it would simply be multiple worlds?

Posted Image


#12

CasparW
    CasparW

    Tree Puncher

  • Members
  • 11 posts

Posted 13 May 2013 - 07:43 PM

  • Downloads - Latest build is generally stable and recommended!
  • Source Code - Use this to browse the code, make pull requests or start hacking on a Bungee plugin.
  • Bug Reports- Issues posted on these forums will be ignored, use this tracker instead.
  • IRC - Come here if you have any questions or difficulties. See the support section below for more information.
Introduction
For a long time, Minecraft server owners have had a dream; a dream of a free, easy and reliable way to connect multiple servers together. BungeeCord is the answer to this dream. Whether you are a small server wishing to string multiple game modes together, an established 250 player server wishing to expand your capacity, or the megalithic monolith of the ShotBow Network, BungeeCord is ideal for you.

The author has been writing similar systems for over a year now, and BungeeCord is the pinnacle of this. Written from the ground up, using all new development practices and principles, BungeeCord aims to be the most efficient, reliable and feature packed system around, already dominating similar systems costing hundreds of dollars each month. With the ability to load BungeeCord plugins, written against BungeeCord's expansive API, and many plugin message based hooks available for use by Bukkit plugins and back-end servers, the BungeeCord system can not only seamlessly integrate with existing setups, but can be limitlessly expanded to create anything from custom global ban integration to your very own MMO multiverse.

Getting Started
BungeeCord works best on a VPS / dedicated server, however it can also work on various control panels such as Multicraft. If you choose to install BungeeCord, it is expected that you are familiar with Minecraft server administration, and if you own a VPS / dedicated server, it is expected you have a basic knowledge of SSH and Linux servers.

Installation
  • Make sure that your server is equipped with Java 7

  • Make a new folder to run your BungeeCord in with the command

    Code (bash):
    mkdir bungee && cd bungee

  • Download your preferred BungeeCord version and upload it to this folder. You can do this straight from the server by issuing the

    Code (bash):
    wget 'http://ci.md-5.net/j.../BungeeCord.jar' command.

  • Start BungeeCord with the command

    Code (bash):
    java -jar BungeeCord.jar . This will generate the necessary configuration files.

  • Then type /end into the console to stop BungeeCord
The official guide is currently under construction, but for now please see http://www.spigotmc.org/threads/700/for information on how to install and configure BungeeCord.

Videos
For reasons unknown to me, some people need a video to watch before they attempt to setup BungeeCord. Over the months we have amassed a few videos from users in order to help you get started with BungeeCord, you may view them below.



Installation Videos (open)




Post Installation
As your servers will now be running in offline mode, they are open to users connecting as whoever they want to, and wreaking havoc. Unfortunately for them, this is something that we don't want to happen. Whilst you may be tempted to install an IP whitelist plugin, there are much better ways of preventing users from even getting to the login stage, and thus safeguarding yourself from whatever they may throw at you.

BungeeCord on same machine as all servers
Simply open up the server.properties file on each of your servers, and set the server-ip option to 127.0.0.1, and then restart the server.

BungeeCord on different machine to some servers
First you need to set connection-throttle to -1 in bukkit.yml. This is a VERY important step, and if you don't do it, BungeeCord will NOT work properly.


The only way to secure this setup entirely is to use a firewall to prevent access to them at all from the outside world. Luckily most Linux distributions include an easy to use firewall named iptables. Once you have everything set up you can activate this firewall with the command below, but first replace $BUNGEE_IP with the server running BungeeCord, and $SERVER_PORT with the port of your Minecraft server.
Please note that all commands in this section must be run as root.


Code (bash):
iptables -I INPUT ! -s $BUNGEE_IP -p tcp --dport $SERVER_PORT -j DROP

Next you must make these rules automatically apply each reboot. The commands used to do this vary depending on which Linux distribution you use:
CentOS


Code (bash):
/etc/init.d/iptables save

Debian / Ubuntu


Code (bash):
apt-get install iptables-persistent
/etc/init.d/iptables-persistent save

If at any time you find yourself unable to connect to your servers after messing with the firewall, simply enter this command to completely reset it:


Code (bash):
iptables --flush

Inbuilt Commands
  • <required argument>
  • [optional argument]

/alert <message>
bungeecord.command.alert
Issues an alert to all users connected to BungeeCord. Colour codes may be used with &, the special code &h will hide all default formatting, allowing for completely custom messages.



/bungee
Shows what version of BungeeCord is currently being run.



/glist
bungeecord.command.list
Shows a list of all players connected to BungeeCord.



/greload
bungeecord.command.reload
Reloads the BungeeCord configuration. Like the Bukkit reload command, this is not intended to be used on a regular basis, and can lead to unexpected behaviour, however it will reload all servers, listeners and a few options from the configuration. It will not reload permissions or plugins.



/ip <player>
bungeecord.command.ip
Shows the real IP address of a player connected to BungeeCord.



/perms
Shows all permissions you have, and all groups which you are in.



/send <player|current|all> <target>
bungeecord.command.send
Sends the specified player(s) to the specified server. All will send all players not on the target server, player will send the specified player, and current will send all players on your server.



/server [server]
bungeecord.command.server
When used with an argument, transfers you to the specified server. When used with no arguments, lists all servers you can connect to.


Plugins
BungeeCord currently has an expansive plugin API to allow developers to create rich Java plugins. Currently there isn't much documentation, however you may review and download all Bungee plugins from the resources tab above.

Support
If you have a question or problem and don't mind waiting a little for a reply, you may post it in this thread. For development related questions, please post them in development subforum, and for issues, bugs and feature requests, please post them on the issue tracker at the top of this post.
The preferred way to get to support is via realtime IRC chat. You can join us at #md_5 on irc.esper.net, or for your convenience a webchat link is provided below. If you do ask for help on IRC, be sure to stay for as long as you can, or until you get an answer. Also please be sure to pastebin any relevant errors and logs longer than 3 lines.
http://webchat.esper...=&channels=md_5

Sponsors
Various individuals, companies and servers have made BungeeCord what it is today; for a full list of code contributions you may check the commit logs on GitHub. Staminus Communications however plays a bigger role than most, providing fantastic hosting and sponsorship for these forums and my other projects.
If you find yourself in a spot of trouble with DDOS attacks, BungeeCord hosted on a Staminus server is a great, cost effective way to mitigate their impact. For more information click the logo below.

Authors:

Coder: CasparW
Coder/Developer: md_5

And some other bukkit developers helped!

If done successful

If this program has ran successful when you start it via terminal,cmd its will come up and say

20:10:50 [INFO] Enabled BungeeCord version git-BungeeCord-Proxy-1.5-SNAPSHOT-"0afefa8"-414
20:10:50 [INFO] Listening on 0.0.0.0:25577

The 20:10:50 bit at the start is the time you started it im positive this won't be the same as yours!
The "Oafefa8"-414 is the version this might be the same as yours don't worry if it is not the same.

#13

Badger01
    Badger01

    Tree Puncher

  • Members
  • 28 posts
  • Location: hhmm.....
  • Minecraft: Badger_1

Posted 27 November 2013 - 05:03 AM

View PostSeriouSquid, on 24 July 2011 - 05:19 AM, said:

The whole linked inventory thing can easily be abused.

Imaging you're in a hardcore PVP server.
You then go to a creative server where you can spawn whatever the hell you want.
Go back.
Raise hell.

Though, I think we should be able to look at server history. Such as a list in-game of recent servers you've visited.
http://dev.bukkit.or...se-inventories/
Posted Image

#14

malbosia2013
  • Location: maryland, USA
  • Minecraft: malbosia2013

Posted 14 February 2014 - 08:13 AM

View Postnikolai2960, on 29 June 2011 - 08:14 AM, said:

really good idea! but so theres also some downsides, like griefers block up the portal so when you came in the other server you were trapped, and so it also would make much lag (i think)
any server owner with some sense will use worldguard to disable building around these portals, same as you would do with spawn areas. then only hackers, or people the owner added to the protection would be able to make any changes to said area. there are also a few plugins to prevent hacks, so aslong as you take precaustions, there isnt much risk with this idea. i frankly quite like it. i own a server and have 4 friends that own servers, we have been talking about finding a way to do cross server teleportation without having to disconnect.

i would very much like to see this idea put into effect.

however, i do not like the idea of linked inventories. this could cause lots of problems for economy servers, and switching between creative servers and survival server.

Edited by malbosia2013, 14 February 2014 - 08:17 AM.


#15

Pentrit
    Pentrit

    Stone Miner

  • Members
  • 83 posts

Posted 14 February 2014 - 09:51 AM

Its nice idea and could help large servers balance the load a little bit. Having one server instance running the overworld and the other running the hellworld for example. I certainly support this.
Posted Image