Server Help

ASSS Questions - Massive AI Experiment

L.C. - Sat Nov 21, 2009 7:20 pm
Post subject: Massive AI Experiment
This is what I want to do:
Spawn as many of Bjorn's AI bots in a single arena evenly across the map in combat. I will be using several machines over LAN to host the bots due to RAM limitations per machine (as Bjorn's bot uses a million times more memory than CPU or disk space). Maximum bandwidth input to machine hosting ASSS will be around 25 MB/s (dual 100Mbit link) and consists of 4GB RAM and a Core 2 Quad at 3.6GHz with 12MB of L2 Cache.

And I need your advice:


What I will do during testing:


And if you would like, I shall even produce a video documentation and plenty of screenshots.
JoWie - Sun Nov 22, 2009 8:04 am
Post subject:
Few things I can think of:


L.C. - Sun Nov 22, 2009 10:37 am
Post subject:
1. seeprivfreq is a module? (EDIT: I am pretty sure this should go under Default for GroupDef's.)

2. Putting the following in arena.conf/svs.conf will do, right?

Quote:
[Kill]
JackpotBountyPercent = 0
FixedKillReward = 0
BountyRewardPercent = 0
BountyIncreaseForKill = 0

[Prize]
MultiPrizeCount = 0
PrizeFactor = 0
PrizeHideCount = 0
MinimumVirtual = 0
UpgradeVirtual = 0
PrizeMaxExist = 0
PrizeMinExist = 0
DeathPrizeTime = 0
EngineShutdownTime = 0

[Misc]
SeeEnergy = 0
SpecSeeEnergy = 0
SpecSeeExtra = 0

[Net]
MaxOutlistSize = 500

[Warbird]
PrizeShareLimit = 0
InitialBounty = 0
AttachBounty = 0

[Javelin]
PrizeShareLimit = 0
InitialBounty = 0
AttachBounty = 0

[Spider]
PrizeShareLimit = 0
InitialBounty = 0
AttachBounty = 0

[Leviathan]
PrizeShareLimit = 0
InitialBounty = 0
AttachBounty = 0

[Terrier]
PrizeShareLimit = 0
InitialBounty = 0
AttachBounty = 0

[Weasel]
PrizeShareLimit = 0
InitialBounty = 0
AttachBounty = 0

[Lancaster]
PrizeShareLimit = 0
InitialBounty = 0
AttachBounty = 0

[Shark]
PrizeShareLimit = 0
InitialBounty = 0
AttachBounty = 0


3. Bounties under 255? Explanation?
JoWie - Sun Nov 22, 2009 12:10 pm
Post subject:
seeprivfreq is a capability in the "core" module. if you have this capability you get a -1 checksum from the server during login. Subgame sends this if you have VIP or higher, mervbot for example uses this to detect if it has VIP.

Those settings you posted should do the trick (unless you typod or something).
However Net:MaxOutlistSize goes into global.conf



There are a couple of variations of the position packet:

  1. S2C position (22 bytes)
  2. S2C position + extra position data (32 bytes)
  3. S2C weapon (35 bytes)
  4. S2C weapon + extra (45 bytes)


S2C position (1 and 2) only supports bounties upto 255, if you have a bounty higher then that, S2C weapon is used (3 and 4)

Energy levels is located in the extra position data. So if energy viewing is enabled, 2 or 4 is used.

energy viewing + high bounties could double the traffic
L.C. - Sun Nov 22, 2009 11:18 pm
Post subject:
Ok, I do not know what I did wrong here, but I do not have any items or equipment whatsoever when in a ship. And for some reason, although I removed some crap from arena.conf, one of the ships has cloak and another has infinite bricks.

http://www.hlrse.net/Qwerty/asss_aiexperiment_00.rar
JoWie - Mon Nov 23, 2009 8:48 am
Post subject:
That is because the default SVS settings in ASSS do not give you anything initially.
You do however get a 500 bounty at start, so all the bombs, rockets, cloak, etc was prized upon spawn.

You will have to set initialguns, initialbombs etc yourself using ?quickfix
L.C. - Mon Nov 23, 2009 9:14 am
Post subject:
Quote:
That is because the default SVS settings do not give you anything initially.
This is incorrect. You at least get Level 1 guns or bombs. Who devised this idea to remove all weapons on spawn? icon_confused.gif

I guess I will just simply copy and paste over Subgame's server.cfg. Good to know about this anyway for a future project of repackaging ASSS Subgame2-style.
JoWie - Mon Nov 23, 2009 10:24 am
Post subject:
L.C. wrote:
Quote:
That is because the default SVS settings do not give you anything initially.
This is incorrect. You at least get Level 1 guns or bombs. Who devised this idea to remove all weapons on spawn? icon_confused.gif

I guess I will just simply copy and paste over Subgame's server.cfg. Good to know about this anyway for a future project of repackaging ASSS Subgame2-style.


I said in asss, you changed the quote
L.C. - Mon Nov 23, 2009 10:38 am
Post subject:
Bleh, I feel stupid. Yeah, I did change the quote, and while changing it that thought had suddenly entered my mind ... I don't know why I did that. icon_sad.gif I'm sorry. Perhaps I should take a break from this game again.
JoWie - Mon Nov 23, 2009 11:38 am
Post subject:
lol
L.C. - Tue Nov 24, 2009 8:51 pm
Post subject:
You have been shutup for 60 seconds for flooding.
"*arena test" brings up the arena list.

ASSS crashed before even reaching 100 spawns. Each instance of Bjorn's AI is setup to have 9 spawns. Rerunning some tests to make sure it isn't because of Bjorn's AI taking up my RAM. I don't like how ASSS decides to restart itself just because the system runs out of memory (Subgame doesn't do that -- it just keeps trying to chug along).

Here is an inventory of the machines I intend on using (also the order in which I allocate their resources):
1) Q9450 @ 3.6GHz w/ 12MB Cache, 4GB RAM (server)
2) T3400 @ 2.13GHz, 3GB RAM
3) E2180 @ 2.4GHz, 2GB RAM
4) Celeron @ 2.53GHz, 1GB RAM

Total of 10GB of available RAM, but probably between 8.5GB and 9.5GB of actual free memory.
L.C. - Tue Nov 24, 2009 9:34 pm
Post subject:
Another thing I am observing is that Bjorn's bots are unable to switch into their correct ships because of totally different commands (and perhaps even with protocol -- but unlikely).

And they are occasionally entering "*" into the chat.

With just between 45 to 55 AI bots in play, ASSS is prone to crashing. Ran ASSS on Machine#2 while bots on Machine#1 to make sure that it would be impossible of ASSS to blame it on "running out of memory" as it did in the console.

It takes 8 instances of 9 spawns each (approximately 72, though I think two of the instances were freaking out with "ERROR" in their consoles, and thus resulting in around 54 bots in game) takes up about 4GB of RAM, but varies -- technically I could run more bots, putting more tightness to memory usage per application.

Log file at http://www.hlrse.net/Qwerty/asss_aiexperiment_02.rar

EDIT: And how come I cannot get back into spectator mode after getting into a ship?
Hakaku - Tue Nov 24, 2009 9:54 pm
Post subject:
ASSS restarts because that's how the deadlock module is setup. If you don't want it to detect deadlocks, then remove the module.

I'm pretty sure I've mentioned it like 30+ times this week, but if you plan on using bots, enable the subgame compatibility module, and to prevent them from being silenced, add the line 'unlimitedchat'
http://www.ssforum.net/index.php?showtopic=24020&view=findpost&p=257359

I'm purely guessing here, but chances are the reason why your bot is sending only an asterisk is because it's not recognizing itself as a staff member, so it sends an empty password, probably because you left the staff password portion empty in its configuration file.

The reason why ASSS is crashing is probably because it's trying to handle the flood influx coming from your 50 or so bots. I'm not sure how badly designed Bjorn's bot is, but chances are its requesting far more information from the server and all the players than it needs. Hyperspace and Hockey Zone certainly don't have a problem hitting the 70 bar with regular users.
L.C. - Tue Nov 24, 2009 10:01 pm
Post subject:
The password in its configuration file is admin.
Quote:
Bot0:pwd:0:AI:admin
Bot1:pwd:0:AI:admin
Bot2:pwd:0:AI:admin
Bot3:pwd:0:AI:admin
Bot4:pwd:0:AI:admin
Bot5:pwd:0:AI:admin
Bot6:pwd:0:AI:admin
Bot7:pwd:0:AI:admin
Bot8:pwd:0:AI:admin
Bot9:pwd:0:AI:admin


And I made sure to add Bot# = admin to the staff.conf file too.

Quote:
ASSS restarts because that's how the deadlock module is setup. If you don't want it to detect deadlocks, then remove the module.
Done (disabled).

Quote:
to prevent them from being silenced, add the line 'unlimitedchat'
Done (enabled).

Quote:
The reason why ASSS is crashing is probably because it's trying to handle the flood influx coming from your 50 or so bots. I'm not sure how badly designed Bjorn's bot is, but chances are its requesting far more information from the server and all the players than it needs. Hyperspace and Hockey Zone certainly don't have a problem hitting the 70 bar with regular users.
Meh, well I need ASSS to ignore useless material for the sake of this test. I can do about 64-75 bots in Subgame2 without running into the problem of being unable to whitelist more than 1 IP address (essentially running out of enough RAM to keep everything running smooth enough).

Quote:
Unrecoverable error (5): Error in loading module 'unlimitedchat'
asss cannot start. error loading modules.

Hakaku - Tue Nov 24, 2009 10:10 pm
Post subject:
unlimitedchat isn't a module, it's something you add in your groupdef files. Click the link I provided, I explain everything in step by step detail.
L.C. - Tue Nov 24, 2009 10:24 pm
Post subject:
Hakaku wrote:
unlimitedchat isn't a module, it's something you add in your groupdef files. Click the link I provided, I explain everything in step by step detail.
Ah, my apologies. Read through and made some modifications. It did run much better in the last session with up to 72 bots in play. I forgot that my map used a special tile, so most of them gathered at the border in the center bottom area of the map, trying to go outside the borders.
L.C. - Tue Nov 24, 2009 10:35 pm
Post subject:
I managed to crash ASSS again, and I still can't get into spectator mode.

EDIT: I wonder if it has anything to do with not being able to allocate more than 4GB on a 32-bit system...
Samapico - Tue Nov 24, 2009 10:53 pm
Post subject:
Can you check the server's memory usage before it crashes?
L.C. - Tue Nov 24, 2009 10:54 pm
Post subject:
While contemplating on what to do and waiting for replies, I quickly ported over my 1024-player Subgame2 test bots (which are plain MERVBots without any plugins and optimal resource usage).

Unfortunately, my Continuum crashes when any of these bots enter the arena (even just 3 or 5). Any ideas?

And I can't seem to get more than 495 bots in (each instance of plain MERVBot spawns 45 -- so I am thinking, 512 limit??). Subgame2 can handle 1024 plain MERVBot's perfectly fine with surprisingly barely any memory or CPU usage.

EDIT: Repeating AI test to check for memory usage right before crash.

EDIT2: In regards to the MERVBot thing. MaxPlayers/MaxPlaying, one of the two, Continuum cannot handle some number between 128 and 255, or Continuum will crash. However, just because I set both to 127, I can successfully load 450 spawns into one arena (which makes me wonder if ASSS or something is totally ignoring MaxPlayers or whatever). When I start the next instance for the next 45 spawns, they cycle in and out of the arena (disconnect+rejoin).

BUT! Strangely enough, when I have it set to 255 and I try the AI experiment, Continuum will not crash by loading the first instance -- like it does with plain MERVBot.

I will have to continue this experiment tomorrow, sorry. Brother is trying to sleep and doesn't like the laptop light.
Hakaku - Tue Nov 24, 2009 11:05 pm
Post subject:
L.C. wrote:
and I still can't get into spectator mode.

Do you have fm_normal loaded? It also needs to be attached to the arena for normal frequency handling.

Also, might I suggest that you test which module is causing ASSS to use up more memory by process of elimination. i.e. disabling sets of modules (starting from the bottom) until you see a more or less significant drop in memory usage.
L.C. - Tue Nov 24, 2009 11:13 pm
Post subject:
Hakaku wrote:
[..]Do you have fm_normal loaded? It also needs to be attached to the arena for normal frequency handling.
[ Modules ]
AttachModules = \
fm_normal \
points_kill \
points_flag \
points_goal \
buy

EDIT2: Modules.conf has fm_normal loaded as well.

Until tomorrow when I can proceed my experiments and observations, you guys can play around with this and try it out. It is all setup and ready to go: http://www.hlrse.net/Qwerty/asss_aiexperiment_03.rar (3MB compressed, 93MB uncompressed)

Just start ASSS.
* Decide whether you want to do 'ai' or 'merv' -- then navigate into that folder.
* Do a search for 'aimervbot.exe' or 'mervbot.exe' so that you get a listing of them.
* Now sequentially execute them (or highlight pairs, triplets, quadruplets, or all of them and hit enter for mass execution).

From here you can experiment around. Files of interest are arena.conf, server.cfg (with arena.conf), modules.conf, groupdefs, and staff.conf.

Please post any observations, notes, or interesting things here regarding to player limits, mass populations, etc.

EDIT: Oops, still uploading rar.

EDIT2: Upload complete! By the way, the Qwerty_r_dum_lol.exe program contained in the root is a program a friend of mine made for me that I have found very useful. You insert a line of anything into the first field, such as "Bot0:pwd:0::admin", change 0 to # or any character of your choice, and then in the second field put # or that character of choice, then set a range of numbers you want it to generate, then press generate, open notepad, and paste.

Night! (My ventures to be continued... Stay tuned!)
Anonymous - Tue Nov 24, 2009 11:26 pm
Post subject:
Forgot to mention, but you can use the 'ai' and 'merv' setup for Subgame2. The 'merv' setup is straight from my 1024-Player Subgame2 test, so I guarantee that it would work in filling a Subgame2 server up to 1024 in no time, no sweat, and no problem. Just make sure that the Subgame2 server you setup is using port 5000 and that you use Qwerty_r_dum_lol to generate the list of bot names from 0 to 10240 for sysop.txt and vip.txt, and that SysOp+VIP password is admin.
Grelminar - Wed Nov 25, 2009 6:57 am
Post subject:
Have you determined if the crash is due to running out of memory, a deadlock, or a segfault? Running asss under gdb or another debugger would help answer that, and if it's a deadlock or segfault, help you get a full stack trace.

Even 1 GB should be enough to handle thousands of players. If it really is running out of memory, it's probably either a leak or a non-core module doing something stupid.
Dr Brain - Wed Nov 25, 2009 8:08 am
Post subject:
Can you post the log of the server crashing? At the very least the message it gives at the end. Don't put it into a rar file off-site, either. Just put the relevant parts into some [code] tags, or attach the uncompressed log file to your post.
L.C. - Wed Nov 25, 2009 11:29 am
Post subject:
I did some testing this morning, with AI bots counts from 72 to 90, and running all 23 MERVBots (I am unable to get past 490-512). I took plenty of screenshots and did some Fraps recording. It will take me this afternoon to process.

Continuum crashed plenty, ASSS crashed once (no memory errors in console as far as I could tell). Still need to do more testing -- and more organized.

If necessary, I have access to a dual-server setup of 32GB RAM and 32GHz of 16-core CPU power. I have only allocated my laptop (#2) and my machine (#1) so far. I need to find some time when my family isn't around and I can use all the machines.

*sigh* ASSS is not printing what it should in asss.log. I have to get ASSS to crash to retrieve the memory error messages.

Notes:
* One instance of Bjorn's AI bot of 9 spawns allocates 600MB to 710MB of RAM.
* One instance of MERVBot of 45 spawns allocates 90MB to 100MB of RAM.
JoWie - Wed Nov 25, 2009 12:35 pm
Post subject:
Memory errors are not logged in asss.log, they are only printed.
If you want to log those on windows run it as "bin/asss.exe > asss.console.log"
On linux you need "bin/asss &> asss.console.log"

Also, depending on how ASSS crashed, the last few lines may not show up in asss.log
JoWie - Wed Nov 25, 2009 12:53 pm
Post subject:
Whenever I try to run a bot, only one spawns and it gives me the error "ERROR: Tick."
Anonymous - Wed Nov 25, 2009 1:32 pm
Post subject:
Which one of ai are you trying to run? I know that of the first 10 instances of ai, two of the instances fail for presently unknown reasons (never bothered checking if I updated their LVL and configuration files correctly).

ERROR: Tick will mean either of two things: (1) cannot load smallmap.lvl, (2) unable to connect and spawn to zone. Every spawn under that instance is likely to fail for some reason.
JoWie - Wed Nov 25, 2009 2:28 pm
Post subject:
I can see all 9 trieng to connect, but only the first bot does a login request

ive tried about 3 diffent folders
L.C. - Thu Nov 26, 2009 1:06 am
Post subject: Subgame2 Testing Results
JoWiE, there are some errors in the configuration of the ASSS package I compiled. I put together a new one: http://www.hlrse.net/Qwerty/asss_aiexperiment_04.rar

(Let me know how it runs for you, JoWiE. Be sure to delete the previous package you have extracted. The bots are set to connect to 127.0.0.1:5000, and both ASSS and Subgame2 are setup to use port 5000; they both have Bot#'s 1 through 10240 in staff.conf, vip.txt, and sysop.txt. The SysOp/VIP password to everything is 'admin', and Subbill's billing password is 'biller')

asss.bat
Start this first for regular ASSS testing.

subbill.bat
If experimenting with Subgame2 and you want to do it with a biller, run this before running subgame2.bat. The users.dat file is already generated for all 1030 spawns with "bypass block" enabled on every user. There is a user "Player" with the password "pwd" that you can use in Continuum for this testing -- this only applies to Subgame2 (unless you are connecting ASSS to this biller as well, which I did not configure ASSS for).

subgame2-nobiller.bat
If experimenting with Subgame2 and you do not want to involve a biller, just run this. May not work as well due to MERVBot's fail-safes.

subgame2-peer.bat
If for whatever reason you want to play around with Subgame2's /SPAWN "file.exe" function and peering, you can use this. See the contents of this batch to know how and what it is executing.

subgame2.bat
If experimenting with Subgame2 and using a biller, run this after running subbill.bat

ai and merv
Do not run ASSS and Subgame2 simultaneously, as they both use the same port (5000). ai is the setup of Bjorn's bots for up to 261 spawns through 29 instances. merv is the setup of plain pluginless MERVBot's for up to 1030 spawns through 24 instances. Usage of Notepad++ is recommend for mass editing of files like mervbot.ini, spawns.txt, operators.txt, staff.conf, sysop.txt, vip.txt, etc using Find & Replace.




I decided to not publish or process the data from my first couple runs on ASSS due to the disorganization in the way I conducted the experiment and recorded results. So I spent the afternoon gathering more information for analysis, evaluation, and to have a better understanding of some things (that would help me proceed with ASSS). I did some serious experimenting with Subgame2.



subgame2.txt
Code: Show/Hide
server.ini
   [Arena]
   ArenaMaxPlayers=250
   // This is the max amount of players per arena
   ArenaDesiredPlayers=0
   // ???
   ArenaMinimumPlayers=0
   // ???
   
   [Misc]
   MaxPlayers=1023
   // This is max amount of players for the whole zone

server.cfg
   [Misc]
   MaxPlaying=250
   // Maximum number of players that can be playing at one time (does not count spectators, 0=limited only by maximum allowed in arena (not a user setting))
   MaxPlayers=250
   // This is max amount of players in this arena. Will override the .ini max arena setting

Notes
   * Each public arena will contain 250 players (controlled by MaxPlayers via server.cfg and ArenaMaxPlayers via server.ini)
   * The absolute maximum population supported per arena is 250 players
   * FYI: Not sure what ArenaDesiredPlayers and ArenaMinimumPlayers in server.ini do
      + Setting it to 251 and 250 will cause subgame2.exe to crash when you launch the 6th instance of MERVBot (225-269)
      + Setting it to 250 and 250 will not yield any abnormal results (works fine)
         - Cannot join arena of 250 while logged in as SysOp, or subgame2.exe will crash
      + Setting it to 250 and 251 will not yield any abnormal results (works fine)
         - Cannot join arena of 250 while logged in as SysOp, or subgame2.exe will crash
      + Setting it to 100 and 0 (defaults) will not yield any abnormal results (works fine)
         - Cannot join arena of 250 while logged in as SysOp, or subgame2.exe will crash
      + Setting it to 0 and 0 will not yield any abnormal results (works fine)
         - Cannot join arena of 250 while logged in as SysOp, or subgame2.exe will crash
      + Other notes
         - Right before I started writing this notes section, I somehow managed to get inside one of the 250-player arenas without crashing Subgame2
         - Then I got the idea of "!go 0" and went to one of the other arenas to send over some bots; subgame2.exe crashed upon sending the 252nd bot
         - I am unable to replicate this
            > Or perhaps I was already in the arena as it filled up to 250 players and thought I was the 251st player?
   * MaxPlaying in server.cfg will allow you to have this many players in a PLAYABLE SHIP
      + Network-wise, Subgame2 is unable keep my client up to date with movement packets from 249 bots in !follow or !attach
   * MaxPlayers from server.ini
      + 1024 is the absolute maximum players per instance of subgame2.exe
      + Setting this value to 1025 will not change anything
      + SysOp cannot get inside the zone if 1024 is reached
      + Some spawns are unable to login in 585-629, 630-674




memcpu-subgame2.txt
Code: Show/Hide
Notes
   * Subbill idle with 0 connections
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.1MB private bytes (memory allocation)
         - Average of 0 I/O bytes
      + Task Manager
         - Core0-2 similar CPU usage to Process Explorer
         - Core3 range of 18% to 30% CPU usage
         - All cores range of 18% to 28% CPU usage
   * Subbill idle with 1 connections
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * Subgame2 connected to Subbill, 0 players
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 8.5MB private bytes (memory allocation)
         - Average of 1.5KB I/O bytes
      + System Statistics (includes other running appications and Windows)
         - Average of 10.12% memory usage
         - Total processes of 30
         - Average commit charge is 2.13%
         - Range of 15% to 25% CPU usage (spikes up to 40%)

==============================================================
==============================================================

   * Subgame2 connected to Subbill, 1 players (human)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 8.6MB private bytes (memory allocation)
         - Average of 1.5KB I/O bytes
   * Subbill idle with 1 connections of 1 players (human)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * Subgame2 connected to Subbill, 1 players (merv)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 8.7MB private bytes (memory allocation)
         - Average of 1.6KB I/O bytes
   * Subbill idle with 1 connections of 1 players (merv)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * MERVBot (merv) connected to Subgame2 on Subbill (1 spawn)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 1.8MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * Subgame2 connected to Subbill, 45 players (merv)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 11.5MB private bytes (memory allocation)
         - Average of 3.7KB I/O bytes
   * Subbill idle with 1 connections of 45 players (merv)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * MERVBot (merv) connected to Subgame2 on Subbill (45 spawns)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 58.3MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * Subgame2 connected to Subbill, 1 players (ai) (idle)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 8.6MB private bytes (memory allocation)
         - Average of 1.6KB I/O bytes
   * Subbill idle with 1 connections of 1 players (ai) (idle)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * MERVBot (ai) connected to Subgame2 on Subbill (1 spawn) (idle)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 16.1MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * Subgame2 connected to Subbill, 1 players (ai) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 8.6MB private bytes (memory allocation)
         - Average of 1.6KB I/O bytes
   * Subbill idle with 1 connections of 1 players (ai) (playing)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * MERVBot (ai) connected to Subgame2 on Subbill (1 spawn) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 16.1MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * Subgame2 connected to Subbill, 9 players (ai) (idle)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 9.2MB private bytes (memory allocation)
         - Average of 1.8KB I/O bytes
   * Subbill idle with 1 connections of 9 players (ai) (idle)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * MERVBot (ai) connected to Subgame2 on Subbill (9 spawns) (idle)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 198.3MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * Subgame2 connected to Subbill, 9 players (ai) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 9.1MB private bytes (memory allocation)
         - Range of 2.0KB to 2.5KB I/O bytes
   * Subbill idle with 1 connections of 9 players (ai) (playing)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * MERVBot (ai) connected to Subgame2 on Subbill (9 spawns) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 198.3MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * Subgame2 connected to Subbill, 1024 players (merv)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 73.4MB private bytes (memory allocation)
         - Range of 27KB to 36KB I/O bytes
      + System Statistics (includes other running appications and Windows)
         - Average of 46.30% memory usage
         - Total processes of 54
         - Average commit charge is 13.05%
         - Range of 20% to 35% CPU usage
   * Subbill idle with 1 connections of 1024 players (merv)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 2.4MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * MERVBot (merv) connected to Subgame2 on Subbill (45 spawns, 1 random instance)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 60.7MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * MERVBot (merv) connected to Subgame2 on Subbill (5 spawns, instance 1023-1030)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 5.6MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * Subgame2 connected to Subbill, 72 players (ai) (idle)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 13.5MB private bytes (memory allocation)
         - Range of 2.5KB to 3KB I/O bytes
      + System Statistics (includes other running appications and Windows)
         - Average of 99.96% memory usage (decreasing at 0.01% per second)
         - Total processes of 38
         - Average commit charge is 42.44%
         - Range of 19% to 23% CPU usage
   * Subbill idle with 1 connections of 72 players (ai) (idle)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * MERVBot (ai) connected to Subgame2 on Subbill (9 spawns per instance, 8 instances) (statistics on all instances) (idle)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 675.55MB private bytes (memory allocation)
            > Only one instance had 676.1MB
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * Subgame2 connected to Subbill, 72 players (ai) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 13.6MB private bytes (memory allocation)
         - Range of 10KB to 35KB I/O bytes
      + System Statistics (includes other running appications and Windows)
         - Average of 85% memory usage (increasing at 0.01% to 0.05% per second)
         - Total processes of 38
         - Average commit charge is 42.45%
         - Range of 19% to 23% CPU usage
   * Subbill idle with 1 connections of 72 players (ai) (playing)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * MERVBot (ai) connected to Subgame2 on Subbill (9 spawns per instance, 8 instances) (statistics on all instances) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 675.55MB private bytes (memory allocation)
            > Only one instance had 676.1MB
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * MERVBot (ai) connected to Subgame2 on Subbill (9 spawns per instance, 7 instances) (statistics on all instances) (killing 1 instance at a time) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 607.4MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * Subgame2 connected to Subbill, 63 players (ai) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 13.6MB private bytes (memory allocation)
         - Range of 10KB to 30KB I/O bytes
      + System Statistics (includes other running appications and Windows)
         - Average of 55.05% memory usage
         - Total processes of 37
         - Average commit charge is 33.84%
         - Range of 15% to 23% CPU usage
   * Subbill idle with 1 connections of 63 players (ai) (playing)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * MERVBot (ai) connected to Subgame2 on Subbill (9 spawns per instance, 6 instances) (statistics on all instances) (killing 1 instance at a time) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 539.2MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * Subgame2 connected to Subbill, 54 players (ai) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 13.6MB private bytes (memory allocation)
         - Range of 20KB to 27KB I/O bytes
      + System Statistics (includes other running appications and Windows)
         - Average of 30.9% memory usage
         - Total processes of 36
         - Average commit charge is 31.09%
         - Range of 19% to 23% CPU usage
   * Subbill idle with 1 connections of 54 players (ai) (playing)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * MERVBot (ai) connected to Subgame2 on Subbill (9 spawns per instance, 5 instances) (statistics on all instances) (killing 1 instance at a time) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 471.05MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * Subgame2 connected to Subbill, 45 players (ai) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 13.6MB private bytes (memory allocation)
         - Range of 7.5KB to 15KB I/O bytes
      + System Statistics (includes other running appications and Windows)
         - Average of 26.7% memory usage
         - Total processes of 35
         - Average commit charge is 19.68%
         - Range of 19% to 23% CPU usage
   * Subbill idle with 1 connections of 45 players (ai) (playing)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * MERVBot (ai) connected to Subgame2 on Subbill (9 spawns per instance, 4 instances) (statistics on all instances) (killing 1 instance at a time) (playing)
      + Process Explorer
         - Average of 0% CPU usage
            > All of a sudden, in amidst the peace, CPU usage range became 15% to 25%
            > Range of 425MB to 462MB private bytes
            > Subgame2 and Subbill statistics do not change as a result of this
         - Average of 402.8MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * Subgame2 connected to Subbill, 36 players (ai) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 13.6MB private bytes (memory allocation)
         - Range of 0 to 13KB I/O bytes
            > Evened out to about 1KB
      + System Statistics (includes other running appications and Windows)
         - Average of 18.4% memory usage
         - Total processes of 34
         - Average commit charge is 14.13%
         - Range of 19% to 23% CPU usage
   * Subbill idle with 1 connections of 36 players (ai) (playing)
      + Process Explorer
         - Range of 6% to 11% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * MERVBot (ai) connected to Subgame2 on Subbill (9 spawns per instance, 3 instances) (statistics on all instances) (killing 1 instance at a time) (playing)
      + Process Explorer
         - Range of 20% to 25% CPU usage
         - Range of 357MB to 387MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * Subgame2 connected to Subbill, 27 players (ai) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 13.6MB private bytes (memory allocation)
         - Range of 3.7KB to 5KB I/O bytes
      + System Statistics (includes other running appications and Windows)
         - Average of 18.82% memory usage
         - Total processes of 33
         - Average commit charge is 10.37%
         - Range of 95% to 99% CPU usage
   * Subbill idle with 1 connections of 27 players (ai) (playing)
      + Process Explorer
         - Range of 12% to 20% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * MERVBot (ai) connected to Subgame2 on Subbill (9 spawns per instance, 2 instances) (statistics on all instances) (killing 1 instance at a time) (playing)
      + Process Explorer
         - Range of 22% to 25% CPU usage
         - Range of 289MB to 299MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * Subgame2 connected to Subbill, 18 players (ai) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 13.6MB private bytes (memory allocation)
         - Range of 2KB to 4KB I/O bytes
      + System Statistics (includes other running appications and Windows)
         - Average of 14.93% memory usage
         - Total processes of 32
         - Average commit charge is 6.48%
         - Range of 66% to 70% CPU usage
   * Subbill idle with 1 connections of 18 players (ai) (playing)
      + Process Explorer
         - Range of 12% to 20% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * MERVBot (ai) connected to Subgame2 on Subbill (9 spawns per instance, 1 instances) (statistics on all instances) (killing 1 instance at a time) (playing)
      + Process Explorer
         - Range of 22% to 25% CPU usage
         - Average of 294.3MB private bytes (memory allocation)
         - Average of 0 I/O bytes
   * Subgame2 connected to Subbill, 9 players (ai) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 13.6MB private bytes (memory allocation)
         - Range of 2KB to 3KB I/O bytes
      + System Statistics (includes other running appications and Windows)
         - Average of 13.92% memory usage
         - Total processes of 31
         - Average commit charge is 4.28%
         - Range of 46.48% to 70% CPU usage
   * Subbill idle with 1 connections of 9 players (ai) (playing)
      + Process Explorer
         - Range of 9% to 15% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

   * MERVBot (ai) connected to Subgame2 on Subbill (9 spawns per instance, 0 instances) (statistics on all instances) (killing 1 instance at a time) (playing)
      + Process Explorer
         - No available data
   * Subgame2 connected to Subbill, 9 players (ai) (playing)
      + Process Explorer
         - Average of 0% CPU usage
         - Average of 13.4MB private bytes (memory allocation)
         - Average of 1.5KB I/O bytes
      + System Statistics (includes other running appications and Windows)
         - Average of 8.10% memory usage
         - Total processes of 30
         - Average commit charge is 2.08%
         - Range of 17% to 22% CPU usage
   * Subbill idle with 1 connections of 9 players (ai) (playing)
      + Process Explorer
         - Range of 9% to 13% CPU usage
         - Average of 1.5MB private bytes (memory allocation)
         - Average of 0 I/O bytes

==============================================================
==============================================================

Todo
   * MERVBot (ai) of 8 instances where 4 instances are hosted on a second machine
   * MERVBot (ai) of 12 instances where 4 instances are hosted on a second machine, and 4 instances on a third machine
   * MERVBot (ai) of 14 instances where 4 instances are hosted on a second machine, 4 on a third, and 2 on a fourth machine
   * MERVBot (ai) of 24-32 instances on a dual-server setup (32GB RAM, 32GHz, 16-cores)
   * ASSS version








PS. I think it was deadlock causing those memory crashes of ASSS. Will say something if I encounter them again.

EDIT: Horizontal axis on last two charts are supposed to be same as on first chart.
L.C. - Thu Nov 26, 2009 11:33 am
Post subject:
From server.ini, what are the ASSS equivalents?


From server.cfg, what are the ASSS equivalents?

JoWie - Thu Nov 26, 2009 11:45 am
Post subject:
I was able to spawn about a 100 bots in ASSS (windows xp). ASSS was only consuming about 10MB at that point. Almost no cpu usage and no crashes.
I unloaded the module log_sysop to prevent each bot receiving red text caused by other bots.

However those mervbots..... each mervbot.exe consumes about 200MB and that aimervbot.exe 400MB. I couldn't get any further because I only have 3GB. Which is almost the maximum on windows XP without PAE.
L.C. - Thu Nov 26, 2009 3:14 pm
Post subject:
JoWie wrote:
I was able to spawn about a 100 bots in ASSS (windows xp). ASSS was only consuming about 10MB at that point. Almost no cpu usage and no crashes.
I unloaded the module log_sysop to prevent each bot receiving red text caused by other bots.

However those mervbots..... each mervbot.exe consumes about 200MB and that aimervbot.exe 400MB. I couldn't get any further because I only have 3GB. Which is almost the maximum on windows XP without PAE.
Use Process Explorer instead of Task Manager for viewing usage statistics. Task Manager does not seem to be displaying the correct memory usage. In Process Explorer right click on a specific application, Properties, and then go to the Performance tab.
JoWie - Thu Nov 26, 2009 4:46 pm
Post subject:
The memory usage in the task manger is the same as private bytes in Process Explorer.
The virtual size is the highest, but that is not the memory that is actually used.

When running 1-9 ASSS is at 3MB private bytes, 2.5MB working set and 37MB virtual size

Mervbot.exe is running at 200MB Private Bytes, 190MB working set, 224MB Virtual size. This is without the AI, IMO this is way to much for 9 bots...
Samapico - Thu Nov 26, 2009 4:57 pm
Post subject:
200MB or memory for 9 spawns??? That's a lot indeed.
The largest portion of memory would be the map data itself, but that takes only 1MB per spawn. I don't see what else could take that much memory...
L.C. - Thu Nov 26, 2009 7:22 pm
Post subject:
Samapico wrote:
200MB or memory for 9 spawns??? That's a lot indeed.
The largest portion of memory would be the map data itself, but that takes only 1MB per spawn. I don't see what else could take that much memory...
I find it interesting how on JoWiE only gets 200MB to 300MB usage for 1-9, whereas I get 600MB to 700MB on my systems.

Plain MERVBot on the other hand (0-44) is no more than 70MB. I get the same usage ranges/averages on both my laptop (machine #2) and my primary computer (machine #1) for both 'merv' and 'ai'.

JoWiE, what are your system specs?
JoWie - Fri Nov 27, 2009 5:10 am
Post subject:
I ran mervbot.exe btw, not aimervbot.exe


Dell Vostro 1510 (laptop)
Intel Core 2 Duo T5870, 2.00GHZ 2MB L2 cache, 800MHz FSB
Windows XP x86-32
3.072MB, 667 MHz Dual Channel DDR2
256MB Nvidia GeForce 8400M GS
L.C. - Fri Nov 27, 2009 12:31 pm
Post subject:
Quote:
I ran mervbot.exe btw, not aimervbot.exe
The AI has mervbot.exe and aimervbot.exe. If you are doing AI, you need to run aimervbot.exe (not mervbot.exe). I am not sure if the mervbot.exe for AI is actually required...
JoWie - Fri Nov 27, 2009 3:21 pm
Post subject:
I tested it without AI, just spawns sitting in spec
L.C. - Fri Nov 27, 2009 4:28 pm
Post subject:
To start the AI type !start to all of them, then get in a ship and get to where they are all idling, and kill them. This is how you start Bjorn's AI. Do this, then check the performance graphs. It should shoot up.
All times are -5 GMT
View topic
Powered by phpBB 2.0 .0.11 © 2001 phpBB Group