ID:2292395
 
Hello,

I am wondering if anyone has ever spun up a server on a client, after that client was already connected to a "main" server.

Let me explain with an example. Imagine a party wants to explore a dungeon, so the party enters the dungeon from the main world. From the party, one player is chosen as the "host" to run a server hosting the dungeon map, and then all of the other party members connect to the host to run the dungeon in a private server instance. After they clear the dungeon, they are returned to the main world by connecting to the main server.

The point of this line of thought is for performance. I'd imagine it would be excellent to offload some of the server's burden to the players, and the players may even experience less latency if the host has a better ping to the other clients than the server.

Anyone have any input on this idea?

Thanks
It is very possible for a player to be the room hoster or match relieving the server

Until today I did not need it, for now I can not tell you how to do it

Tomorrow I do some tests and return
In response to Klogaum
Thanks, I'd appreciate that.

From looking around the documentation, I found the startup instruction allows you to make more servers, but only at the current address. I can't seem to find any way to start up a server from another host (different IP).
The client side .url command allows you to redirect a user. You can trigger it with a command winset or from javascript with a client-side winset, or in the skin as a command. Check out the skin reference.

You can also pass arguments to the world you are starting up, which you can parse to kick the world into a hosted server automatically with OpenPort().

Last, if the DMB/hub of the world you kick the player into is the same, you can get away with using client-side savefiles as a very temporary way of transitionining player data between worlds. Write some kind of system though that will ensure the file hasn't been edited, and that the files are valid for a single-session transfer only.
Having, when the client enters the world for the first time, it downloads .dmb and .rsc?

In addition to the skin (.dmf file) (optional) and a skin control (text) file.

Where is .dmb and .rsc located?

Do the two files go to some folder?

The skin folder:
C:\Users\Vera\Documents\BYOND\Skins\kozuma3\elora2

Or are they condensed into a file?

Certainly are encrypted, or multiple servers would open without concensus

In that case, I would cause it to download these files, and through some command, would call the Dream Daemon and create a verifier of legitimacy.

Maybe, i go try

with Shell() on windows

That might help, but that interested me as well.

This can help: https://is.gd/Vex9YF
Doing this will probably be best if you do a single-player launcher that installs the game and its various dmb and rscs for each region.