Homebrew Vehicle Sandbox- Multiplayer Update
As some of you may have noticed, we've been running three consecutive servers instead of one, all of which are a lot faster than the previous one we were running a couple of days ago. This is very good news for everyone who wants to play multiplayer!
What We Did
We started researching headless servers, and the possibilities of using those in Homebrew
(for those of you who don't know, a headless server is basically a terminal or command prompt, running a server. Instead of an actual game. Think Dedicated server software!), the big issue is, Homebrew 13 is not built for headless servers at all. We require the main camera, we require all scripts, just to make sure data is getting through correctly, or that data is being applied correctly. So we tried a lot of stuff, and came up with a "near-headless-server setup".
Basically we've got Homebrew running without a level, in the smallest resolution we could (QVGA. So 320x240) this means that having the game open, requires close to no CPU and GPU. Which is great! Cause servers usually don't have dedicated GPUs.. This means that everything will be running on the CPU. With the regular Homebrew, that means 99.9% CPU most of the time. The new server setup is about 8% CPU on idle. So we've been able to pump out a lot more with speed.
The downside is, if someone spawns a vehicle in Homebrew, the physics will be calculated on the Server side. Until someone enters that vehicle. This normally isn't an issue, but when a server doesn't have a dedicated GPU for physics calculations. That's an entirely different story.
Thankfully it doesn't spike That high. We're running 3 servers currently, mostly because we're unsure how many we can run on one machine in this setup. We'll might start up a couple more, or stop one of the servers, depending on the data of the servers. So far they seem to be working just fine though! The chance of us closing one is therefore pretty small.
What Does This All Mean?
Servers are back, and they're faster than ever. It's still not perfect though. This also means that the server code will change immensely in Homebrew 14. Multiplayer will be mostly rewritten, some systems will stay (like the vehicle cloud-uploads.), but most will change, especially with headless servers in mind.
The goal would be having a simple terminal application, that's low in size, doesn't need a lot of CPU or RAM, and can just run on any virtual machine, with remote access available (either through some sort of ssh-tunnel, or through the game), as well as easy configurable settings (like part limits, game-mode selection, etc.) and upnp. We'll most likely won't be able to implement all of this when the Update is out, but we'll have temporary solutions until then.
For now though! Have fun in Multiplayer! And if any of the servers crashed, or is starting to get slow, feel free to contact any of us and we'll get right on it!