Multiple Worlds

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

Multiple Worlds

by jn » Tue Jan 03, 2012 20:01

(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.
 

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

by sfan5 » Tue Jan 03, 2012 20:18

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 » Tue Jan 03, 2012 20:25

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 » Tue Jan 03, 2012 20:48

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 » Tue Jan 03, 2012 21:36

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 » Tue Jan 03, 2012 23:47

@RAPHAEL: This is what I mean.
 

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

by mcburgerbob » Wed Jan 04, 2012 00:20

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

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

by redcrab » Wed Jan 04, 2012 01:14

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 » Wed Jan 04, 2012 03:55

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: 804
Joined: Sun Jun 19, 2011 06:51

by neko259 » Wed Jan 04, 2012 10:28

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 » Wed Jan 04, 2012 11:51

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: 804
Joined: Sun Jun 19, 2011 06:51

by neko259 » Wed Jan 04, 2012 11:59

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 » Wed Jan 04, 2012 12:10

yeah
I love mods :D
 

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

by Daraku » Wed Jan 04, 2012 12:30

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: 804
Joined: Sun Jun 19, 2011 06:51

by neko259 » Wed Jan 04, 2012 12:56

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 » Wed Jan 04, 2012 13:01

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: 804
Joined: Sun Jun 19, 2011 06:51

by neko259 » Wed Jan 04, 2012 13:06

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 » Wed Jan 04, 2012 15:41

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: 804
Joined: Sun Jun 19, 2011 06:51

by neko259 » Wed Jan 04, 2012 15:43

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 » Wed Jan 04, 2012 16:15

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: 804
Joined: Sun Jun 19, 2011 06:51

by neko259 » Wed Jan 04, 2012 16:22

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 » Wed Jan 04, 2012 16:31

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 » Tue Jan 10, 2012 11:25

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 » Tue Jan 10, 2012 13:32

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
 


Return to Partly official engine development



Who is online

Users browsing this forum: No registered users and 1 guest