Multiple Worlds

For people working on the C++ code.
Post Reply
jn
Member
Posts: 106
Joined: Tue Jan 03, 2012 19:15

Multiple Worlds

by jn » Post

(I'm not sure if this shouldn't rather go into Feature Discussion)

I think it would be nice if Minetest would support multiple worlds natively, i.e. through an option in the "server" section of the main menu. I think this shouldn't be too hard technically, but I've only started reading the source yesterday.

--jn
Last edited by jn on Tue Jan 03, 2012 20:05, edited 1 time in total.

sfan5
Moderator
Posts: 4095
Joined: Wed Aug 24, 2011 09:44
GitHub: sfan5
IRC: sfan5
Location: Germany

by sfan5 » Post

jn wrote:(I'm not sure if this shouldn't rather go into Feature Discussion)

I think it would be nice if Minetest would support multiple worlds natively, i.e. through an option in the "server" section of the main menu. I think this shouldn't be too hard technically, but I've only started reading the source yesterday.

--jn
+5 Really good Idea!
Mods: Mesecons | WorldEdit | Nuke & Minetest builds for Windows (32-bit & 64-bit)

sapier
Developer
Posts: 763
Joined: Tue Aug 16, 2011 18:17

by sapier » Post

I'm not really sure what you are pointing at, multiple worlds at the same machine can already be run by starting servers at different ports.

Running multiple worlds on one server implies at least adding some additional complexity in message handling on server side and changes in protocol.


Probably some sort of "server browser/bookmark browser" in client start screen would meet your requirements without having to change server and protocol ?
DON'T mention coding style!
(c) sapier all rights reserved

Daraku
Member
Posts: 34
Joined: Sun Dec 25, 2011 14:21

by Daraku » Post

minetest has an world height as 64000 (+-32000). if every world will have an 1000 blocks height, it-is 64 worlds in one server.
Just need a mod for that :)

User avatar
RAPHAEL
Member
Posts: 627
Joined: Tue Nov 01, 2011 09:09
Location: Earth

by RAPHAEL » Post

I think what jn means is when you start up the minetest client you have like a dropdown of available worlds maybe. If not correct me jn.
"Before you speak, ask yourself: Is it kind, is it true, is it necessary, does it improve upon the silence?"
My mods: http://goo.gl/n4kpn
(Currently Various, Industrial, Fakeblocks, Jail, MoarCraft, Christmas, Replicator, minetest dev installer for linux, bash mod installer, windows mod installer)

jn
Member
Posts: 106
Joined: Tue Jan 03, 2012 19:15

by jn » Post

@RAPHAEL: This is what I mean.

mcburgerbob
Member
Posts: 141
Joined: Wed Dec 14, 2011 19:50
Location: B.C Canada

by mcburgerbob » Post

cool! I didnt know that was possible!
64 worlds inside one server... wow
MY CAKE!

User avatar
redcrab
Member
Posts: 833
Joined: Tue Dec 13, 2011 13:45
Location: France
Contact:

by redcrab » Post

It's What I ve done
On one machine have multiple world ... (for me 2 world staging and official)
One world per port ...
then the world selector can be the port ...
something nice could have a dropdown to select friendly name ... and behind each frinedly name there is a address and port ...
with one texture cache per world...
0.4 for serious builder click here
Dedicated Minetest redcrab server forum at http://minetestbb.suret.net

It's nice to be important but it is more important to be nice.

sapier
Developer
Posts: 763
Joined: Tue Aug 16, 2011 18:17

by sapier » Post

adding different texture caches at the same server most likely will break protocol compatibility again ;-)
on different servers it would be as simple as changing the client to have a cache per server
DON'T mention coding style!
(c) sapier all rights reserved

User avatar
neko259
Member
Posts: 805
Joined: Sun Jun 19, 2011 06:51

by neko259 » Post

Maybe add an s2s portal? When you use it, you automatically connect to a different server (on the same machine but different port or even different machine). This won't break protocol and will make it possible to make the main server with portals to every other server (lika a serverlist, but in-game).
s3tuPDfUv2IyvXHzPmE31MQvnWULv1zj

User avatar
Staffs
Member
Posts: 329
Joined: Thu Aug 04, 2011 13:16

by Staffs » Post

neko259 wrote:Maybe add an s2s portal? When you use it, you automatically connect to a different server (on the same machine but different port or even different machine). This won't break protocol and will make it possible to make the main server with portals to every other server (lika a serverlist, but in-game).
Ooh Making my own made house with server-portals... AWESOME. Someone should make that !!
I love mods :D

User avatar
neko259
Member
Posts: 805
Joined: Sun Jun 19, 2011 06:51

by neko259 » Post

Just need a lua method to connect to certain server and disconnect from current without exiting to the menu.

Edit:
Mmm, no. It's not that simple. We need to bring the inventory to another server and also set player's position when he arrives. And if servers contain different mods, we can't bring some items to another server :(
For now, I think the best solution would be just connecting without any inventory/lives/position setting.
s3tuPDfUv2IyvXHzPmE31MQvnWULv1zj

User avatar
Staffs
Member
Posts: 329
Joined: Thu Aug 04, 2011 13:16

by Staffs » Post

yeah
I love mods :D

Daraku
Member
Posts: 34
Joined: Sun Dec 25, 2011 14:21

by Daraku » Post

2neko259:
So basicly you suggesting next test case:
1. User connect to the main server
2. Then go to the some kind of portal
3. Server send cmd to client to redirect to anouther server
4. Client disconecting from current setver and start conection to anouther server
5. Client say to new server that it came from anouther server
5. New server request player info from sender server
6. Player login with all it inventory from previous server

User avatar
neko259
Member
Posts: 805
Joined: Sun Jun 19, 2011 06:51

by neko259 » Post

Daraku wrote:2neko259:
So basicly you suggesting next test case:
1. User connect to the main server
2. Then go to the some kind of portal
3. Server send cmd to client to redirect to anouther server
4. Client disconecting from current setver and start conection to anouther server
5. Client say to new server that it came from anouther server
5. New server request player info from sender server
6. Player login with all it inventory from previous server
Yes. Currenty I don't know, what to do with password (player has to enter his password for the server he's entering).
s3tuPDfUv2IyvXHzPmE31MQvnWULv1zj

Daraku
Member
Posts: 34
Joined: Sun Dec 25, 2011 14:21

by Daraku » Post

neko259 wrote:Yes. Currenty I don't know, what to do with password (player has to enter his password for the server he's entering).
Not neccesary. Main server can provide a client with some sort of a session key, that client will present to a new server, and then new server will chek validity of that key on a new server.
Last edited by Daraku on Wed Jan 04, 2012 13:01, edited 1 time in total.

User avatar
neko259
Member
Posts: 805
Joined: Sun Jun 19, 2011 06:51

by neko259 » Post

Daraku wrote:Not neccesary. Main server can provide a client with some sort of a session key, that client will present to a new server, and then new server will chek validity of that key on a new server.
You mean the key would be created when the player logins with password from the menu first time, like in web?
s3tuPDfUv2IyvXHzPmE31MQvnWULv1zj

sapier
Developer
Posts: 763
Joined: Tue Aug 16, 2011 18:17

by sapier » Post

Just another question what to do if client can reach both servers, but servers can't talk to each other? ;-)
DON'T mention coding style!
(c) sapier all rights reserved

User avatar
neko259
Member
Posts: 805
Joined: Sun Jun 19, 2011 06:51

by neko259 » Post

sapier wrote:Just another question what to do if client can reach both servers, but servers can't talk to each other? ;-)
In general case they don't need to talk to each other. We just need some way to ask player for a password before entering the server. Then he will tell the server about his inventory and others.
s3tuPDfUv2IyvXHzPmE31MQvnWULv1zj

Daraku
Member
Posts: 34
Joined: Sun Dec 25, 2011 14:21

by Daraku » Post

neko259 wrote:Then he will tell the server about his inventory and others.
Em... this is opensource client, I'm can easily y create a mod that will always tell server that I'm has 8x4x99 blocks of mese in my inventory ;)
Last edited by Daraku on Wed Jan 04, 2012 16:28, edited 1 time in total.

User avatar
neko259
Member
Posts: 805
Joined: Sun Jun 19, 2011 06:51

by neko259 » Post

Daraku wrote:Em... this is opensource client, I'm can easel y create a mod that will always tell server that I'm has 8x4x99 blocks of mese in my inventory ;)
Well you can always make your own server, use /give command and make 8x44x99 blocks of mese. It's a matter of trust. Maybe the server would have a list of trustable servers and visitors from other servers would lose their inventory.
s3tuPDfUv2IyvXHzPmE31MQvnWULv1zj

Daraku
Member
Posts: 34
Joined: Sun Dec 25, 2011 14:21

by Daraku » Post

Then it just a set of different servers, not a multiple worlds. If I'm can't bring all my stuff from one server to another it has no point.

What experience this feature will add to the game?

Nemo08
Member
Posts: 132
Joined: Mon Dec 26, 2011 04:59

by Nemo08 » Post

may be possible to create wolds on same server like as separate maps for dungeons / hell / heaven with own rules/items?
and s2s +100500

jn
Member
Posts: 106
Joined: Tue Jan 03, 2012 19:15

by jn » Post

sapier wrote:adding different texture caches at the same server most likely will break protocol compatibility again ;-)
on different servers it would be as simple as changing the client to have a cache per server
Isn't the texture cache handled on the client-side only?
AFAIK, the current protocol uses MD5 checksums for verification. I think we could base the texture cache on them, which would make sense anyway, because two servers using different data with the same texture name is quite common (think texture packs) and hash collisions are _very_ uncommon.

Nemo08 wrote:may be possible to create wolds on same server like as separate maps for dungeons / hell / heaven with own rules/items?
If done right, that would probably require support for multiple maps per world, which is not in place yet. But maybe this could also be done by just modding the map generator a bit to hide the

Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests