ID:1886496
 
So the project I'm working on uses a cluster server setup for handling different maps. My only question was whether or not using SwapMaps to load maps manually for each server would be a practical solution or if there's another method that might work a bit better for what I'm trying to do.
I don't see why not. You're just loading the appropriate map at runtime, right? You could probably save yourself some headache by just keeping players/maps all on the same server.
In response to Kumorii
Well, I would, but the current setup utilizes map instancing. The main server will have all of the main maps and everything and the other servers are just there for instancing, because it's a bit more scalable for what we're doing with it than by keeping all of the maps on the same server.

What's weird is that looking over SwapMaps, there's no function for just loading a map by the filename itself, which seems extremely weird to me. There are functions for converting maps and this and that, but none that just directly go *plop* "yep, here's the map you needed loaded."
This is essentially what I plan to do for my project as well.

swapmaps should be fine, I would say that there should be a system in place to spread the work out evenly across the cluster though.

In response to Bravo1
On its own, each server should be able to easily handle even a crazy amount of players. But we've been working on it in a way to keep it very scalable and not have any issues adding more servers if we need them.
In response to Kats
Lucky! I'll have trouble with my game it seems. So far I think I've made things a bit too complex, and it ends up getting me around 50% cpu usage with only 10 players in the fray... or at least, 10 AI players, I likely just have terrible AI coding, but I like to use that as a "worst case scenario" sort of thing.
In response to Bravo1
If it's using pixel movement and the built-in pathfinding, yeah, that combo absolutely tears through CPU like butter. That was my problem with it previously.
Everything's using pixel movement, yes. No pathfinding, but I know the AI loop that I have running is really inefficient, so I'm not surprised! XP
http://www.byond.com/developer/IainPeregrine/dmm_suite

This is a great library/resource you can use to load in .dmm files in runtime. It has the drawback of being completely inefficient in several ways, but if you're interested I'm willing to share the butchered up and significantly faster (about a third of the cpu time as the original) version of dmm_suite I use for Severed World.
In response to Doohl
I don't really need efficient, Lol, I just needs to be able to load maps when I start the server up. I'd really be interested in seeing the stuff you've been working on.

Besides, knowing me, I won't be able to resist mucking around with the library anyway.
If you're doing map instancing, you need it to be as efficient as possible. Believe me. You don't want to freeze the server for 10 seconds whenever you load a new map.
In response to Doohl
Oh, I was referring to the initial map loading. The actual instancing, I plan on either using Forum_Account's lib or Lummox's, I still have to determine that. I think I'll just use Iain's lib for the initial loading. I know it's not really optimal to have to use a bunch of different libraries for basically the same thing, but FA's and Lummox's seem fairly roundabout on map loading.
Klaatu Verata N... Ni... Ni*cough*tu!

I strogly recommend against using DMMs for production maps. The format is absolutely awful to work with.

http://www.byond.com/forum/?post=1450705

Check out that thread for the beginnings of a map serialization format that I designed.
In response to Ter13
This is very interesting. I've built map editors for other projects in the past, it definitely wouldn't be infeasible for me to write another one for a custom map file like yours and have DM load the format. Why do you have to get my juices flowing like this, Ter?!
Honestly, I just wrote a quick and dirty tool to serialize DMMs by importing the type stubs and exporting them into my custom format at runtime. No need for a custom map editor. I've walked down that road several times. It never ends well.
In response to Ter13
Idk, I always have fun writing them. I usually use the Qt framework which makes the workflow like velvet glass.
I love Qt. I wish it weren't so damn huge, though so we could use it to transition DM away from GDI.