Please roblox add it.Definitely needed
I recall seeing a post by an engineer stating that reserved servers don’t actually persist when there aren’t any players in it, and shut down like they would normally, so the stored JobId could actually become invalid after some time. Have you already tested this feature by leaving the server without any players for some time?
just a little question when the server region is set ? when the first player joins and then the server will be near to him ? if then a “way” to reserve server for a region would be first teleport a player that is in the region and then teleport others.But that way is too much hard and will consume too much request instead of a parameter…
Just because a GUI shows such thing doesn’t mean it’s actually happening. I don’t know what code that game uses but custom regions are not possible.
Storing JobId is useless since it’s the identifier for a server INSTANCE not a server
maybe but its happening really well.
I already explained it here, you can see it if you want.
TL;DR:
When you call :ReserveServer() you are not starting a server instance as such, you are making a new identifier for a private server, of reserved type. It gets started once you teleport somebody inside it. Therefore, it will use the first player region.
^ This is the reason why :ReserveServer() doesn’t return a JobId!!! So it wouldn’t make any sense to add a parameter for a region inside of it.
Finally, to get a region system where you can choose servers from a region, you can simply use MessagingService to communicate with running server instances and see the latency they have or their region. You could add this to your matchmaking system and add set of rules… (@fouroul94 maybe this is what that game you mentioned uses)
Thanks you for your explanation I will take a look right now to your post
This is a must-have feature for persistent worlds. I want to make a game where you can claim claim a procedurally generated planets and build on them (each is its own server instance), but I don’t want you to log in to your planet and have 300 ping because some guy from across the world was visiting before you logged on. Being able to tie the claim to a server region is needed for these types of games.
Old post but still not a reality even five years later, sad
There are cases where a certain region doesn’t exist. Sure, you could teleport them to a new one. But what if they want to join the server they last played in(because they have their original loot there or whatever)? Now that server has a different region and the player has 300 ping on that server, not enjoyable…
What are you even saying? Server instances don’t “suddenly” change region and it’s up to you to customize your “servers” GUI
Why would their loot be inside a server, instead of in their data store? I don’t understand what you are trying to say
Bump, we really need this. This is important, and would help allow truly competitive games on Roblox.
Some types of games store the data in a specific. For example you built a house in that server, you would want to join back into that same server.
Regarding the server region suddenly changing. The server region switching would happen when the server shuts down(has 0 players, etc) and a new player joins which would potentially change the server’s region.
No successful game does that at all (rust is an example).
Games don’t rely on running server instances (RAM, as an example) for saving things, they just save that data and get it back when booting.
No running server instance changes region, what you are implying is a server instance shuts down and another one belonging to the same server starts running again.
Please read this post if you’d like to differentiate between servers and server instances.
Now, for everyone inside this topic, to do a very simple matchmaking system that compares region and skill, you’d just need to use messaging service to get all the running server instances, each with their region and “skill”. Just teleport the player to the most suitable server, after all, why adding custom region server instances when they’re going to need one player to be running after all?
Pretty sure you are misunderstanding here. Let’s say, for example
Player1 leaves(server shuts down)
Player2 joins(new server starts)
Player1 joins(Player2’s region)
(Player1 joins the “same” server they left from so their original data loads)
Now Player1’s region doesn’t match the server region
I don’t quite understand your post so am i missing something?
Edit:
Of course, currently you can still teleport a player to a match(like a fps game). But you can’t do this if you want persistent data for multiple players in a certain server, the region of the server could be anywhere since the server “stays running” for a much longer time than a fps match. In that time a server can shut down and start up with multiple different regions.
I am not the one who’s misunderstanding this. As far as I believe, you still don’t understand the difference between a “server” (“identifier”) and a “server instance” (a running computer).
You are saying their “original data loads”, even though, that server has shut down already as you mentioned:
Therefore there would not be any “loot” inside the running server anymore since it has shut down. Besides, this topic concerns reserving servers, so your point makes no sense.
If I have a private server inside my game and somebody joins it (making the server instance’s region similar to theirs). I can just shut it down and join it again.
(bumping)
Being able to reserve servers in a specific region would make games using a fixed server system work much more elegantly. Since regions wouldn’t be set according to the first player who joins these servers, developers would be able to guarantee that players always have access both to a server with minimal latency and one with other players close to their region.
Support!
Developers who want to make a serious matchmaking system for a fight game need to make assumptions based on GetCountryAsync (the closest server they can teleport to) or hope Roblox does not teleport them to a far server (based on the other player). We should be allowed to set a midpoint for players far away from each other for the best possible outcome.
This might be seen one day… I’m trying to set up a 1v1 matchmaking system that only looks at how far apart people are, so I’d try to find a middle ground.
However, the region picker seems so random (it doesn’t tell us which player will it prioritize) or “biased” (If you’re unlucky and don’t happen to have a server near you, it would pick the other player’s region). there’s no way to consistently set a region that satisfies both players without (eg) picking it ahead of time and then teleporting the second player in by their own leisure. It’s either the European player gets the server and the Brazilian player has to suffer, or it’s the other way around.
If Roblox were able to implement this something like this, it would help give us more say in how the matchmaker sends players to servers that are closer (in terms of the two players) to them.
I wouldn’t even mind keeping track of each region and locking different people in a certain part of the world. With a system like this I could do something like: If the player wants to play outside of their distinctive region I could let them join other regions, but they wouldn’t have any say in which region the server is in. It would be on them.