So, we have a 800MB memory limit for characters.
~800MB for all managed memory, which includes GameEntity objects (the actual in-game objects and actors), NPCStateDescriptor objects (the additional data stored on settlement folks, certain bosses, etc), the World object, the SuperRegion and Region objects (world map stuff), the RegionInteriorData objects for any regions that currently have players inside them, the actual Chunk objects for any chunks that actually have players inside them. All the localized text in the game (and probably all the other strings too). Tons and tons of other stuff that would take too long to list here.
How much does any one character cost against that?
The character itself? Not much at all, probably no more than a few kilobytes.
The main cost is the Chunk objects, which have a big ol' array of Tile objects (each of which can have multiple TileLayer objects), as well as all those GameEntity objects (every tree, every platform, every monster, every projectile, etc, though there is some partitioning into sub-data objects based on category and thus a tree does not need as much memory as a monster). I don't know offhand how big a chunk is at this stage in the game's development, but whatever that is divided into, say, 500MB will probably give you the maximum number of "safe" players on a server. BUT, if there's 10 players logged into a server and 9 of them are all in a single chunk and the other is somewhere else, that's basically the same RAM load as 2 players in 2 separate chunks.
What's the maximum memory consumption an AVWW server can take (before the program explodes because it can't address any more memory)?
Total, including unmanaged memory? I've seen my client process get north of 3GB before dying (edit: this was during some buggy infinite loop tomfoolery, not normal operation), so it's capable of getting pretty far up there. But all the chunks and that other stuff I just talked about needs to fit into about 800 megabytes or out-of-memory crashes tend to start happening.
What are the bandwidth rates like for active players? Could I reasonably set up a dedicated server in my basement and run it off my 10Mbps connection with 1000 characters (assuming infinite machine power)?
Is that 10 Mbits download, or 10Mbits upload? The upload is the bottleneck for the server: the data coming in from the clients isn't all that big, though with 1000 characters it might get pretty bad. But sending data out to 1000 characters, particularly if one or more of them is asking for something big like the initial world message or a chunk or whatever (which are actually pretty small because they're compressed) is probably more than a normal residential connection is prepared to handle. I'm not even sure how well your computer would do handling that many separate connections, actively sending data or not. But I'm not a networking expert.
Is the current server multithreaded? How many cores can it scale to?
Entirely singlethreaded. The server doesn't actually do much cpu work (almost all the in-chunk simulation is local to the clients) except to generate new chunks when needed (and, at level-up, new regions), and if that gets to be bad we can probably rework the chunk-requesting message processing to hand off the chunk generation to a separate thread and defer execution of that transition until the chunk is ready.
How many regions (based on averages) could be loaded at any one time into server memory?
I don't know the average footprint of a region offhand, but it's pretty small because we keep most of the "interior data" (the dungeon map stuff, chunk metadata) on disk unless something needs it. It used to be that a server running by itself after just loading a world only held about 50MB, and it didn't grow much as regions were added. Right now the numbers are different but there's been some changes that might have the server loading more than it needs to. Anyway: how many regions? A whole lot. One of the old alpha worlds has like 12000 regions, and the single-player was able to hold that, and I think that's even before we split out the interior data.
I'm just looking for rough numbers, but an idea of max theoretical limits on multiplayer could help to give us an idea on how massive our worlds can be, and also give the crazy ones who want to set up dedicated servers ideas on what they should be running on.
The multiplayer opt-in alpha is available now so you're welcome to give it a try. I'm sorry that I don't have much in the way of numbers for you right now, pretty tired
Mainly when I think about those questions my response is "does it need to be more efficient? I can probably optimize it". It's more a matter of developing the game quickly and then finding the bottlenecks, and if they're bad fixing them. But Chris and I are both performance-optimization junkies so once the game's off the ground we'll probably have you guys running dedicated servers on your toasters (not really; but I like to think so).
Anyway, the bottleneck to many-players-servers that you're most likely to A) hit and B) be-able-to-control is the server's upload connection.