So as a fun experiment, I decided to spam the memory using the console. I simply built strings up using functions I made to multiply a string by 100000 fold and keep doing it. When Blockland reached 1,750,000 KB in memory, it crashed.
I kinda hinted onto Blockland having a memory limit before crashing, and it seems to be correct.
Formula (a): 70 players = 1.2 GB RAM
Formula (b): 100 players ?= 1.67 GB RAM (1,750,000 KB)
Formula (a) is derived from a real-time measurement I made on Cucumberdude's server
Formula (b) is a theory that Blockland has a hard memory limit, which is why my 100+ player servers crashed
Fortunately, these ratios are extremely close. I think I've cracked why over 100 players cannot be reached.
So, since I found this out, I'd like to see this "limit" raised in order to exceed 100 players. If not possible, it would be nice to have an explanation as to why it cannot be done.
Note: These formulas aren't exact, there are many other factors such as the amount of projectiles, however formula (a) was from a server with a low volume of projectiles (Jail RP).
I'd appreciate other people doing this test and posting the results of when the game crashes.
I believe the maximum amount of memory a 32 bit application can allocate in windows is 2GB. The practical amount you can allocate may be less than that, either due to overhead in the memory manager or some other reason. Right now I'm on a win 7 64 bit machine with 8gb of ram. If I run the 32-bit version of photoshop the "Memory & Image Cache" section of the preferences lists the available ram at 1689MB. This may be the actual limit.
Memory is the main limitation in Blockland right now. Mainly due to inefficiencies in the torque simObject, ghosting, and resource manager systems. These would have to be rewritten or worked around.
Porting to 64-bit is probably a non-trivial task.
You cannot exceed this ~1.67 GB RAM limit. On a simple server with just players and few other itineraries, it's about 100 players.
Bandwidth is important. You have to have a good upload speed (3-5 mbps), which few have.
Another factor is timing. The only time 100 players has been reached is on my New Years' server, and that was when a large volume of people were looking for a celebration. The closest was:
Cucumberdude has reached 79 players
This happened shortly of a master server slow-down (
http://blocklandcloud.com/tools/monitor.php?action=day&day=586, at 19:30) and everyone suddenly joined his server.