Denied SCP-RP Server Cluster/Server Meshing

This suggestion has been denied and will not receive development.
Status
Not open for further replies.

itsLux

Well-known Member
Oct 29, 2022
10
0
41
What does this suggestion change/add/remove:
This is really two suggestions but I thought I mine as well put them in one because they both try to solve the same thing. In essence, this is a suggestion for either a server cluster that you can switch between two servers — or a server mesh that combines two servers together by having players represented as NPCs and being able to interact with both servers of some sort.

I saw a video of a map called gm_construct 13 beta (
) that actually adds players represented as NPCs that interact with your map for an easter egg, this all being in singleplayer as an emphasis. An advanced version of this would absolutely be insane for Garry's Mod servers in-general.

Another example is from the server meshing example for Star Citizen, https://www.youtube.com/watch?v=UClkcRuGNF8, probably not the best example though but it'd give an idea as to how it may work.

However, I'm not sure if this is possible but I'm going to presume it is; it'd just require a custom made system.
Has something similar been suggested before? If so, why is your suggestion different?:
I did a search and I don't believe so.

Possible Positives of the suggestion (At least 2):
Obviously, a lot more people for roleplay, not only this but it would just add a whole lot of expanded scenarios and give more people a chance to join.

Possible Negatives of the suggestion:
Too chaotic and inflated of a map if player count is in total of like 200+ I'd say.

Based on the Positives & Negatives, why should this suggestion be accepted:
It would simply just add more accessibility to people, me and a friend have had trouble joining due to the server being almost always max.
 

emilsnat

Junior Developer
Junior Developer
Programming Team
Feb 9, 2023
71
9
41
gmod player limit is 128 and trying to do server meshing would be hell on earth, having 2 seperate servers is better
 
Server meshing isn't remotely possible in GMod. Maybe it would be possible if you had a spare $100,000 - 200,000 to spend on a team of software engineers to develop it, and honestly, I'm not even sure it'd be enough - the level of complexity you're talking about would require rewriting significant portions of both the Source engine and Garry's Mod itself. That amount of time and skill doesn't come cheap.

Star Citizen has a budget of hundreds of millions of dollars, and they still haven't been able to pull it off properly.

You'd also get blacklisted from the server browser for advertising a player cap above 128, that's why servers haven't attempted to modify the game and engine to increase their player cap above 128.
 

Lion

Senior Developer
Senior Developer
Programming Team
Aug 26, 2023
75
15
61
United States
www.github.com


This piggybacks a bit off what Cloak Said, but this comment is in relation to Server Clustering (which was also mentioned briefly in the suggestion).

While you could theoretically cluster two Garry's Mod servers together, it wouldn't make much sense or run very well. Even with a shared filesystem, both servers would never be in 100% sync. I'm not sure how well GMOD servers would work if two servers were trying to write data to the same server directory at the same time.

I'm assuming you mean clustering in the sense of there being two "USA" (or "UK", same thing) servers online at once, and players would join the "primary" server for either reason. If the primary (with the players) goes offline or restarts, the other server would be promoted to primary and the previous primary would restart and become the secondary after sending players to the new primary. The goal here is to ensure the server is always online and joinable. This would be nice, but there are big issues. This isn't a microservice that works well with 500 instances, this is a GMOD server.

First off, this would mean having 4 servers as opposed to 2. Two USA servers, and two UK servers. $$$$$$$

Our addons are written to cache as much as possible, and usually this means we only fetch filesystem data (as in stuff saved in data files) on server launch. When one server goes offline, and the other in the cluster becomes the "primary", the new primary would need to be restarted anyways to get the latest data. We could write something to force the new primary to reload the new data, but would require lots of weirdness to get working properly, especially for things that are only setup during startup. I don't have VWAR or core addon access, but I can almost guarantee the "big addons" weren't written with this in mind.

No sever panel supports this (one server really being two containers), so we would either need to write something ourselves or give SL access to a VM running Kubernetes or Docker Swarm or something (I love SL but none of them are trained in docker).

Also, there's no way to seamlessly transition from one server to another. Even when switching maps, there's a noticeable screen (the "Server is switching levels" screen).

Just wait the three-five minutes for the server to restart.
 
Last edited:
  • Like
Reactions: Emilia Foddg

itsLux

Well-known Member
Oct 29, 2022
10
0
41


This piggybacks a bit off what Cloak Said, but this comment is in relation to Server Clustering (which was also mentioned briefly in the suggestion).

While you could theoretically cluster two Garry's Mod servers together, it wouldn't make much sense or run very well. Even with a shared filesystem, both servers would never be in 100% sync. I'm not sure how well GMOD servers would work if two servers were trying to write data to the same server directory at the same time.

I'm assuming you mean clustering in the sense of there being two "USA" (or "UK", same thing) servers online at once, and players would join the "primary" server for either reason. If the primary (with the players) goes offline or restarts, the other server would be promoted to primary and the previous primary would restart and become the secondary after sending players to the new primary. The goal here is to ensure the server is always online and joinable. This would be nice, but there are big issues. This isn't a microservice that works well with 500 instances, this is a GMOD server.

First off, this would mean having 4 servers as opposed to 2. Two USA servers, and two UK servers. $$$$$$$

Our addons are written to cache as much as possible, and usually this means we only fetch filesystem data (as in stuff saved in data files) on server launch. When one server goes offline, and the other in the cluster becomes the "primary", the new primary would need to be restarted anyways to get the latest data. We could write something to force the new primary to reload the new data, but would require lots of weirdness to get working properly, especially for things that are only setup during startup. I don't have VWAR or core addon access, but I can almost guarantee the "big addons" weren't written with this in mind.

No sever panel supports this (one server really being two containers), so we would either need to write something ourselves or give SL access to a VM running Kubernetes or Docker Swarm or something (I love SL but none of them are trained in docker).

Also, there's no way to seamlessly transition from one server to another. Even when switching maps, there's a noticeable screen (the "Server is switching levels" screen).

Just wait the three-five minutes for the server to restart.
I'm not sure about some of the stuff you said at first, but it'd simply just be two servers sharing a database so you can hop on a second server if the first is full.

Although I'm as well not sure if any of this is at all possible due to the mods that don't have support for this type of thing — such as VWar; which is what you were saying. Unless of course you contact the developer and get access.
 

itsLux

Well-known Member
Oct 29, 2022
10
0
41
Server meshing isn't remotely possible in GMod. Maybe it would be possible if you had a spare $100,000 - 200,000 to spend on a team of software engineers to develop it, and honestly, I'm not even sure it'd be enough - the level of complexity you're talking about would require rewriting significant portions of both the Source engine and Garry's Mod itself. That amount of time and skill doesn't come cheap.

Star Citizen has a budget of hundreds of millions of dollars, and they still haven't been able to pull it off properly.

You'd also get blacklisted from the server browser for advertising a player cap above 128, that's why servers haven't attempted to modify the game and engine to increase their player cap above 128.
Lmao yeah, if you saw the other video about gm_construct 13 beta then that's where I got the idea. It'd be amazing if Facepunch increased the player count to around 255, but I doubt they are updating anything multiplayer wise due to S&box.
 

Corr "Perseus" Vynd

Active member
Nov 24, 2023
37
6
21
Poland
I'm not sure about some of the stuff you said at first, but it'd simply just be two servers sharing a database so you can hop on a second server if the first is full.

Although I'm as well not sure if any of this is at all possible due to the mods that don't have support for this type of thing — such as VWar; which is what you were saying. Unless of course you contact the developer and get access.
I feel like you grossly underestimate the effort and software engineering it'd require to get this working, unless you mean that there'd be two servers (two UK servers for example) which have your whitelists, etc. Carry over
 

itsLux

Well-known Member
Oct 29, 2022
10
0
41
I feel like you grossly underestimate the effort and software engineering it'd require to get this working, unless you mean that there'd be two servers (two UK servers for example) which have your whitelists, etc. Carry over
Not too sure if you're talking about server meshing or server clustering in what I underestimated, server meshing I was more or less 50/50 on since I've seen an example of a similar system being used for Garry's Mod. However, for server clustering it's more or less just sharing a database which requires some mods to even be able to send information to one in the first place.

I think with some effort a shared database might be possible, the only mods that require it are ones that obviously store information.
 

Lion

Senior Developer
Senior Developer
Programming Team
Aug 26, 2023
75
15
61
United States
www.github.com
I'm not sure about some of the stuff you said at first, but it'd simply just be two servers sharing a database so you can hop on a second server if the first is full.

Although I'm as well not sure if any of this is at all possible due to the mods that don't have support for this type of thing — such as VWar; which is what you were saying. Unless of course you contact the developer and get access.
We use SQL already to share stuff between the two servers, but sharing filesystem stuff would play wierd and would require rewriting small bits of stuff.

UK and USA already share databases (keeping inventory, levels, and a few other things), so if USA is full you could just join UK and play anyway.
 
Jul 17, 2023
43
11
21
Suggestion Denied



Hi <itsLux>,

Thanks for taking the time to make a server suggestion.
The Content Team has chosen to deny your suggestion due to the following reasons.

<This would increase lag and cause more problems on the server>

Your suggestion will now be locked and marked as denied.​
 
  • Like
Reactions: Emilia Foddg
Status
Not open for further replies.