Currently, my game Strucid uses a 200 player lobby for battle royale matchmaking. However, these servers are never filled completely(especially at night) and there are usually several 50-100 player servers rather than one or two 150-200 player servers.
What’s the best external method/website for cross-server communication, factoring in costs and request limits?
I would always recommend, if possible, hosting it from your own machine (just a personal preference though and not always possible). There are many free web hosting services though. One I’ve used is Glitch. Although unprofessional, they host the servers for you and allow node.js apps. Google “free web hosting” and you’ll find more options.
Even if you don’t want to use your own machine (if it needs to be turned off, used heavily), you could use something like a raspberry pi computer. They are very cheap but can still run many web servers like Apache or Nginx.
My service, https://RBXMod.com is working. While the core functionality is there, some of the nicer features have not been developed yet. For example, once you sign up for an account, I’ll need to manually give you your 64 character hexadecimal authentication token to use in your games. It also may go down for updates early in the morning occasionally.
To summerize the service, it allows you to upload a Lua script to my server on the cloud and run it remotely. My server can either make a copy of the script for each roblox server, or function more like a universal script. When you game starts, you can request a new instance of your remote script which returns a session token. If you share this token between all your places, then each will have access to the same script. This script, since it can communicate with all servers, can easily perform cross server matchmaking. This token can also be used to make a cross-game script.
If you are interested, send me a email at RBXMod@gmail.com . We can go over your requirements in more detail and make sure this service is a good match for you. It’ll be a paid service in the future (based upon resource usage) but right now it is in testing and free).
I hope to eliminate down time entirely by making only new instances of scripts update. For now, the updates would be around 1 am mountain daylight time and last up to 15 minutes. Generally it should take about 2.
It is running a customized version of LuaJIT. I removed some basic functions like load, dofile, collectgarbage, ext. And only load the basic, string, table, and math libraries. LuaJIT is built for Lua version 5.1, but does have some miner differences from the standard Lua 5.1 interpreter.
To be honest I’d be here all day if I started comparing PHP and Node.js but one thing for certain is that there is a huge advantage of using Node.js due to an extremely wide variety of learning resources and package libraries available. It’s very easy to learn and can be used to make scalable apps really quickly, from simple web servers that receive requests to creating REST API’s for Databases.
I sound like a salesman or something but it’s genuinely easier to work with, at least in my opinion.