[Feature Request] Portals between Servers

Post Reply
User avatar
Deadlock
Member
Posts: 50
Joined: Mon Aug 28, 2017 06:47
In-game: Jimmey

[Feature Request] Portals between Servers

by Deadlock » Post

I think it would be nice to have ability to create "portals" to other servers.

I might be overlooking something, but it seems there is no method in the modding-api that allows a mod to,
disconnect a player from the server and force him to connect to another server.
So i would like to have something like:

Code: Select all

minetest.reconnect_player_to(player, destination)
-- where destination would be a string containing an ip-adress
Additionally, the ability to add an referrer and and inventory to this method, and recieve them via the register_on_joinplayer-callback would be great. So if we would have:

Code: Select all

minetest.reconnect_player_to(player, destination, referrer, InventoryList)
and

Code: Select all

minetest.register_on_joinplayer(function(player, referrer, InventoryList)
We could position joining players on a special position if they come via a portal-reconnect and we could allow persistent inventories between servers. So e.g. a peacefull plot-server could be connected to a dangerous mining-server.

User avatar
Krock
Developer
Posts: 4649
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker
Location: Switzerland
Contact:

Re: [Feature Request] Portals between Servers

by Krock » Post

Other users also had the same request. But yet - nobody got enough time to implement it.
For reference:
GitHub issue: Send players from one server to an other server
Linked forum topic (the other topics linked inside there have the difference of embedding multiple worlds/dimensions into one server)
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

User avatar
Deadlock
Member
Posts: 50
Joined: Mon Aug 28, 2017 06:47
In-game: Jimmey

Re: [Feature Request] Portals between Servers

by Deadlock » Post

ah, i see. thanks for the info

User avatar
ManElevation
Member
Posts: 896
Joined: Tue Aug 02, 2016 22:04
GitHub: ManElevation
IRC: ManElevation
In-game: ManElevation
Location: Madrid,Spain

Re: [Feature Request] Portals between Servers

by ManElevation » Post

Deadlock wrote:ah, i see. thanks for the info
im a noob at lua, but ill take a go at this, probably fail
this will be a challenge tho :P
My Public Mods! Discord: Rottweiler Games#3368

BBmine
Member
Posts: 3476
Joined: Sun Jul 12, 2015 22:51
GitHub: BBmine
IRC: BBmine
In-game: Baggins
Location: USA

Re: [Feature Request] Portals between Servers

by BBmine » Post

There's at least one problem I can see with this. Suppose griefer_guy sees that nice_guy has some REALLY cool stuff on HOMETOWN, so he gets to work on making his own server. Then he logs into his own server as nice_guy and portals to HOMETOWN. Great, now griefer_guy as nice_guy can transfer all the chests, protection blocks, etc. to griefer_guy.

There would have to be some sort of algorithm to check that the passwords for nice_guy on the two servers are the same. Either that, or nice_guy would be required to re-enter his password in the portal.

User avatar
GreenXenith
Member
Posts: 1356
Joined: Wed Oct 28, 2015 01:26
GitHub: GreenXenith
Location: UTC-8:00
Contact:

Re: [Feature Request] Portals between Servers

by GreenXenith » Post

/portal <"servername" or ip/port> <username> <password> (ex: /portal "hometown" GreenDimond notmyrealpassword - or - /portal daconcepts.com/30008 GreenDimond notmyrealpassword)
If <servername> or <port> does not exists, return "Unknown server/port"
If <username> logged on to <servername> already, return "A player with this name is already logged on to this server".
If <username> for some reason blocked (banned, whitelist, etc..), return "Access denied. Reason: <reason received from server>" (ex: /portal "xanadu" GreenDimond notmyrealpassword - returns - "Access denied. Reason: Sorry, no new players are being admitted at this time!")
If <username> invalid (!@#$%^&*()+=,.<>?/"';:\][}{ etc..), return "Username invalid."
If <password> incorrect, return "Incorrect password".
(This is just pseudo-code)
YouTube | Mods | Patreon | Minetest Discord @greenxenith

You should not be able to read this message.

User avatar
ManElevation
Member
Posts: 896
Joined: Tue Aug 02, 2016 22:04
GitHub: ManElevation
IRC: ManElevation
In-game: ManElevation
Location: Madrid,Spain

Re: [Feature Request] Portals between Servers

by ManElevation » Post

BBmine wrote:There's at least one problem I can see with this. Suppose griefer_guy sees that nice_guy has some REALLY cool stuff on HOMETOWN, so he gets to work on making his own server. Then he logs into his own server as nice_guy and portals to HOMETOWN. Great, now griefer_guy as nice_guy can transfer all the chests, protection blocks, etc. to griefer_guy.

There would have to be some sort of algorithm to check that the passwords for nice_guy on the two servers are the same. Either that, or nice_guy would be required to re-enter his password in the portal.
True that
My Public Mods! Discord: Rottweiler Games#3368

User avatar
Deadlock
Member
Posts: 50
Joined: Mon Aug 28, 2017 06:47
In-game: Jimmey

Re: [Feature Request] Portals between Servers

by Deadlock » Post

BBmine wrote:There's at least one problem I can see with this. Suppose griefer_guy sees that nice_guy has some REALLY cool stuff on HOMETOWN, so he gets to work on making his own server. Then he logs into his own server as nice_guy and portals to HOMETOWN. Great, now griefer_guy as nice_guy can transfer all the chests, protection blocks, etc. to griefer_guy.
Well, i was under the assumption that after you entered username and password in your client to log in a server,
these credentials are still present in the client. So that when the server tells the client to connect to another server, the client would send the username and password it already has in memory to that other server.
If that's not the case, i wouldn't mind if i was forced to enter my password again.

The purely optional request of transferring a referrer and inventory are probably much more problematic in that regard. And it would be absolutely ok if that is left out. Especially because servers could sync these data by other means. You could e.g. create a mod that allows servers to exchange status messages via IRC. If they send private irc-messages and use only pw-protected irc-usernames, you'd get an okayish level of security.

So i'd like to limit my request to the feature as described by cyisfor on the github-issue:
cyisfor wrote:Keep in mind that this feature would merely be automating the effect of:

building a sign saying "connect to coolserver.me:23456"
players reading that sign, and returning to the minetest menu
players typing in "coolserver.me:23456" and picking a name/password
players joining the new server

There is very little need to limit what server connects where, since the player could just manually connect to any server anyway.

And:
ManElevation wrote:im a noob at lua, but ill take a go at this, probably fail
this will be a challenge tho :P
I would really love to see you succeed. That would totally eliminate the need for this feature-request.

Xudo
Member
Posts: 162
Joined: Wed Nov 09, 2016 16:43
GitHub: akryukov92
In-game: Xudo

Re: [Feature Request] Portals between Servers

by Xudo » Post

Deadlock wrote:Well, i was under the assumption that after you entered username and password in your client to log in a server,
these credentials are still present in the client. So that when the server tells the client to connect to another server, the client would send the username and password it already has in memory to that other server.
If that's not the case, i wouldn't mind if i was forced to enter my password again.
Passwords on different servers should be different. Otherwise, if one compromises his password, he will lose all his stuff on every server.
Asking to enter password for destination server every time is the best choice from security perspective. For players it might be uncomfortable but thats the way it is. Saving password for each server is another feature request.

If someones manages to transfer player WITH inventory, it will be possible to create some sort of "nether". For example "Xanadu" and "Xanadu nether" (with different mapgen options) with ingame portals transferring players from one to another. There will be a lot of problems with mod compatibility, but it will be exciting option.

twoelk
Member
Posts: 1482
Joined: Fri Apr 19, 2013 16:19
GitHub: twoelk
IRC: twoelk
In-game: twoelk
Location: northern Germany

Re: [Feature Request] Portals between Servers

by twoelk » Post

Xudo wrote:.... There will be a lot of problems with mod compatibility, but it will be exciting option.
if anybody does indeed succeed in screening the main menu into some ingame waiting lobby while connecting to some other server, the transfer should be avatar only - as in the terminator films - stark naked with empty pockets -
well maybe not naked but at least empty inventory ;-P
everything else would be opening one can of worms after another

a mere few of the many related old threads:
Multiple Worlds from Tue Jan 03, 2012
[idea] a second world! from Tue Nov 19, 2013
Multi Map Teleport System from Thu Jan 30, 2014
Mineteset as global virtual world Thu Jun 26, 2014
Multiple Worlds from Tue May 09, 2017


User avatar
Ish
Member
Posts: 10
Joined: Fri Oct 06, 2017 07:49
GitHub: I3h
IRC: I3h or Ish2
In-game: Ish or Ish2

Re: [Feature Request] Portals between Servers

by Ish » Post

Did you get this idea from an episode of The Pixel Shadow? lol
> not much to say here.
> my (very vip) website: i3h

User avatar
sorcerykid
Member
Posts: 1841
Joined: Fri Aug 26, 2016 15:36
GitHub: sorcerykid
In-game: Nemo
Location: Illinois, USA

Re: [Feature Request] Portals between Servers

by sorcerykid » Post

I like the idea, as long as it's kept simple and straightforward. Back in the day, when I played Quake (we're talking ancient history, mind you), I had wanted to implement teleports between public servers, so as to simulate a universe of sorts.

Believe it or not, QuakeC actually supported such functionality for use with its "slipgate" teleporters, but it was rather limited.
How do I teleport a player into another server?
A trick by Steven Lang (tiger@ecis.com)

Code: Select all

        // In the slipgate touch function
        // other = entity that touched
        if(other.classname == "player")
          stuffcmd(other, "connect server.address\n");  // send command
When the slipgate is touched, the entity jumps to another server.

Trouble : the player stats and weapons won't be preserved, and the player would be dumped to the console if the other server was full or not available. That's why John Carmack, will rewrite the code of Quake.exe to implement his Quake World proposal, and advanced server with all kinds of goodies... permission lists, ability to block an IP, etc. (info from quake-c list).
Synchronizing player inventories and skins is probably not feasiblel, since all servers have different mods installed. However player stats like health, breath, and hunger could be transferred fairly easily using a mechanism similar to this.

User avatar
ThomasMonroe
Member
Posts: 286
Joined: Tue Apr 04, 2017 16:21
GitHub: ThomasMonroe314
IRC: ThomasMonroe TMcSquared
In-game: ThomasMonroe TMcSquared
Location: Wherever I am at

Re: [Feature Request] Portals between Servers

by ThomasMonroe » Post

sorcerykid wrote: Synchronizing player inventories and skins is probably not feasible, since all servers have different mods installed. However player stats like health, breath, and hunger could be transferred fairly easily using a mechanism similar to this.
A feature like this would be nice, and the servers could be configured with something like:
recv_incoming_portal=false
if they don't want players coming in from other servers.

But also as for the conflicting mod problems, yes that would occur, but it would be allow something to the effect of HyPixel to be setup. if it gets added, then not only could we build neat worlds, but we could build neat GAMING servers(skywars, mesewars, etc.) all connected together in a central hub.

And to cut back on lag the servers don't have to have them all running at the size of 60000^3 for each one.
I don't make messes, I just, er...disturb the local entropy!

User avatar
ThomasMonroe
Member
Posts: 286
Joined: Tue Apr 04, 2017 16:21
GitHub: ThomasMonroe314
IRC: ThomasMonroe TMcSquared
In-game: ThomasMonroe TMcSquared
Location: Wherever I am at

Re: [Feature Request] Portals between Servers

by ThomasMonroe » Post

I get kind of tired of devs saying, "Oh, there might be server mods conflicts if we implement this or that".
DUH!!!! Thats how you improve a game. BY BREAKING IT! And not only that, but they seem to not see the potential of it working flawlessly on newer servers. The modding community follows the MT engine developement, they make suggestions, but they cannot be limiting the development because of "breakage". Sorry for shouting, but I thought people might need to hear that.
I don't make messes, I just, er...disturb the local entropy!

User avatar
Linuxdirk
Member
Posts: 3216
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: [Feature Request] Portals between Servers

by Linuxdirk » Post

ThomasMonroe wrote:I get kind of tired of devs saying, "Oh, there might be server mods conflicts if we implement this or that".
DUH!!!! Thats how you improve a game. BY BREAKING IT! And not only that, but they seem to not see the potential of it working flawlessly on newer servers.
Quoted for emphasis.

User avatar
MineYoshi
Member
Posts: 5373
Joined: Wed Jul 08, 2015 13:20
Contact:

Re: [Feature Request] Portals between Servers

by MineYoshi » Post

Linuxdirk wrote:
ThomasMonroe wrote:I get kind of tired of devs saying, "Oh, there might be server mods conflicts if we implement this or that".
DUH!!!! Thats how you improve a game. BY BREAKING IT! And not only that, but they seem to not see the potential of it working flawlessly on newer servers.
Quoted for emphasis.
Still it means great work to do; repairing something broke sometimes means more work and problems than redoing it. So far i accept your opinion and i think that only breaking the actual game limits when can achieve a more open game, but it means work and problems to solve. The problem with that is that working in Minetest is not something paid and is merely something done as a free contribution, and everyone doesn't have all that time, talent and patience to contribute to this game.

User avatar
sorcerykid
Member
Posts: 1841
Joined: Fri Aug 26, 2016 15:36
GitHub: sorcerykid
In-game: Nemo
Location: Illinois, USA

Re: [Feature Request] Portals between Servers

by sorcerykid » Post

ThomasMonroe wrote:I get kind of tired of devs saying, "Oh, there might be server mods conflicts if we implement this or that".
Where did any devs make that claim? The only dev in this discussion is Krock, and there was no mention of mod conflicts.

User avatar
ThomasMonroe
Member
Posts: 286
Joined: Tue Apr 04, 2017 16:21
GitHub: ThomasMonroe314
IRC: ThomasMonroe TMcSquared
In-game: ThomasMonroe TMcSquared
Location: Wherever I am at

Re: [Feature Request] Portals between Servers

by ThomasMonroe » Post

sorcerykid wrote:
ThomasMonroe wrote:I get kind of tired of devs saying, "Oh, there might be server mods conflicts if we implement this or that".
Where did any devs make that claim? The only dev in this discussion is Krock, and there was no mention of mod conflicts.
I wasn't necessarily talking about this feature in particular.
MineYoshi wrote: Still it means great work to do; repairing something broke sometimes means more work and problems than redoing it. So far i accept your opinion and i think that only breaking the actual game limits when can achieve a more open game, but it means work and problems to solve. The problem with that is that working in Minetest is not something paid and is merely something done as a free contribution, and everyone doesn't have all that time, talent and patience to contribute to this game.
True, however that alone should not stop a feature from at least attempted to be implemented.
I don't make messes, I just, er...disturb the local entropy!

User avatar
Vapalus
Member
Posts: 112
Joined: Wed Nov 15, 2017 17:16

Re: [Feature Request] Portals between Servers

by Vapalus » Post

Why so complicated?
First off, I wouldn't transfer inventory from A to B. Much too complicated. Just think about someone creating a lobby server which advertises his and his friends' servers: Inventory wouldn't work. And, there is too many mods out there to prevent incompatibilities; So, just send him to the server. Maybe later with the option to add stuff, manually, this way the scripter can decide which material is added, and removed from the inventory. And suddenly, this is just a command for the client saying: "Connect to this and that server". Inventory does not matter.

Second, who says the receiving end cannot do something about incomeing players? Maybe both servers know a password, and the player just adds a server side encrypted string to his connection. This way nobody needs to bother about potential abuse. And storing data as JSON in a string and encrypting it with AES is definitely possible. Then give it to the player, the player gives it to the other server, the other server uses the password to decrypt it.
Violá.

This concept means three things:
First, a griever connecting from "his server" is just like a normal player connecting without a server.
Second, the receiving server decides what to do with the incomeing connection.
Third, you can add special items which are traded between servers. Or not. Or maybe. Or just some. Or whatever. Compatibility problem solved. And everything beyond that is trouble for the server owner, not for the developer.

So, this needs three functions:
First is giving the player the command to connect to another IP.
Second is a "command string" added to a player connecting. This one may be bothersome!
And third is some AES encryption tech in LUA. If that is too hard, I once created an encryption based on LUA, so the last step isn't really necessairy - but my encryption may, or may not, blow up the size of the connection string.
A man much wiser than me once said: "go away, you are bothering me"

User avatar
ThomasMonroe
Member
Posts: 286
Joined: Tue Apr 04, 2017 16:21
GitHub: ThomasMonroe314
IRC: ThomasMonroe TMcSquared
In-game: ThomasMonroe TMcSquared
Location: Wherever I am at

Re: [Feature Request] Portals between Servers

by ThomasMonroe » Post

+1
I don't make messes, I just, er...disturb the local entropy!

User avatar
Vapalus
Member
Posts: 112
Joined: Wed Nov 15, 2017 17:16

Re: [Feature Request] Portals between Servers

by Vapalus » Post

Currently I am looking into the sourcecode, maybe I can upload a patch, who knows.
But I wouldn't bet on it.
A man much wiser than me once said: "go away, you are bothering me"

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests