Commit Graph

148 Commits

Author SHA1 Message Date
Justin Clark-Casey (justincc)
6ac12a42ec Add "debug lludp packet" command to pCampbot.
This allows one to log the packets received by a particular bot that are not duplicates of already received packets.
Similar to the OpenSimulator command at the same name but currently any positive level logs all received packets.
No facility yet for logging outgoing packets.
For debug purposes.
2014-09-24 23:44:48 +01:00
Justin Clark-Casey (justincc)
c73b02d583 Replace two connecting bots state booleans in pCampbot with a single state machine.
Also adds "show status" command to pCampbot that currently just shows bot connecting state
2014-09-22 23:13:19 +01:00
Justin Clark-Casey (justincc)
ce74418c20 minor:Give console feedback when we sit or stand pCampbot bots.
Also only write console lines for actually connected bots.
2014-08-19 00:58:33 +01:00
Justin Clark-Casey (justincc)
3a643e2456 Don't allow the last behavior to be removed from a pCampbot bot
If you want to stop existing behavious, add the None behaviour.
2014-08-15 22:44:31 +01:00
Justin Clark-Casey (justincc)
1d2933ca51 Resolve a small race condition on removing bot behaviours that might leave previous behaviour active
Also closes behaviours on disconnect instead of interrupt, though this makes no practical difference.
If existing behaviour is None, other added behavious will not take affect until None is removed (as this is an infinite wait until interrupted).
2014-08-15 22:41:00 +01:00
Justin Clark-Casey (justincc)
21176a3a90 Terminate 'nothing' behaviour (and potentially others) by signalling using an event rather than polling connection state every 100ms
This kind of polling is very expensive with many bots/polling threads and appears to be the primary cause of bot falloff from the client end at higher loads.
Where inbound packet threads can't run in time due to contention and simulator disconnect timeout occurs.
2014-08-13 22:38:27 +01:00
Justin Clark-Casey (justincc)
f1f935ed95 Add 'server' stats information to pCampbot, as used elsewhere in OpenSimulator
This adds the "show stats", "stats record", etc. commands and information on available Threadpool threads, etc.
It also adds the Watchdog which logs warnings if time between executions is unexpectedly large.
2014-08-13 19:53:42 +01:00
Justin Clark-Casey (justincc)
f1cec684e2 For pCampbot, set max number of permitted connections to an endpoint to int.MaxValue
This is to avoid issues where many bots connect to a single end point with multiple regions, where each region requires a long-lived poll connection for each bot.
2014-08-12 18:46:09 +01:00
Justin Clark-Casey (justincc)
0e71e3889c Go back to disconnecting bots in parallel since serially is too slow.
However, disconnecting now halts any current connection, with the possible exception of the single currently connecting bot.
2014-08-05 01:37:10 +01:00
Justin Clark-Casey (justincc)
fcc665a567 Put pCampbot "disconnect" command on separate thread like "connect" so that we can continue to run status commands whilst bots are disconnecting. 2014-08-05 01:15:07 +01:00
Justin Clark-Casey (justincc)
e57e9e95d4 Allow "show bots" pCampbot console command to quickly report status by not locking entire bot list for almost 100% of connection time. 2014-08-05 01:07:08 +01:00
Oren Hurvitz
46c1d4e319 pCamBot: download Meshes
The "Sculpt" field in prims is used for both Sculpties (where the assets are Textures), and real meshes. Meshes require a different download URL than textures.
2014-07-21 09:12:16 +01:00
Oren Hurvitz
470161ae2e Write some pCampBot messages to the log 2014-07-21 09:11:51 +01:00
Justin Clark-Casey (justincc)
5450b1b024 Change assembly versions to 0.8.1 2014-06-17 18:37:15 +01:00
Oren Hurvitz
ca78c8326e Eliminated 'Obsolete' warning: don't call do-nothing function SetPreviousAppearance() 2014-04-23 14:38:04 +01:00
Diva Canto
cddf1ec0dc Added 2 new behaviors to pCampBot 2014-02-21 10:06:08 -08:00
Diva Canto
d27e188fe2 Added 2 new behavirors to pCampBot. These are part of a systematic study I'm doing for understanding the load that AgentUpdate packets incur on the server. 2014-02-21 10:04:12 -08:00
Justin Clark-Casey (justincc)
caf2abe311 Record individual region bot disconnects in pCampbot log 2013-11-05 23:32:26 +00:00
Justin Clark-Casey (justincc)
2d315ec207 Fix a race condition where pCampbot actions could continue even if a bot had disconnected. 2013-11-05 20:58:52 +00:00
Justin Clark-Casey (justincc)
c6395240f0 For individual bots, seed random number generator with a random number from BotManager rather than Environment.Tickcount
Otherwise, since bots are now created all at once, a bunch will get exactly the same tickcount and hence number sequences
2013-11-01 02:04:04 +00:00
Justin Clark-Casey (justincc)
cc7065f9ee minor: change "bot" pCampBot help cateogry to "Bots" 2013-11-01 00:04:18 +00:00
Justin Clark-Casey (justincc)
0e07fad2e1 minor: update pCampbot usage/help statement 2013-10-31 20:19:57 +00:00
Justin Clark-Casey (justincc)
42bdf44658 Bump OPenSimulator version and assembly versions up to 0.8.0 Dev 2013-10-04 23:33:47 +01:00
Justin Clark-Casey (justincc)
b781a23c44 In pCampbot PhysicsBehaviour.Close(), only cancel jumping if bot is connected 2013-09-03 19:58:27 +01:00
Justin Clark-Casey (justincc)
9c3c9b7f5f Make pCampbot "add behaviour" and "remove behaviour" console commands work for all bots if no bot number is given 2013-09-03 19:57:34 +01:00
Justin Clark-Casey (justincc)
76bd2e2d72 Consistently give responsibility for thread sleeping to behaviours rather than controlling from the main action loop
This is to avoid excessive and inconsistent delays between behaviours that currently need to embed sleeps in other actions (e.g. physics) and other behaviours.
Might need a more sophisticated approach in the long term.
2013-09-03 19:41:12 +01:00
Justin Clark-Casey (justincc)
3dbe7313d1 Add Close() method to IBehaviour to allow behaviours to cleanup when removed or bot it disconnected.
In this case, it is used to turn off jump when physics testing behaviour is removed.
2013-09-03 19:33:17 +01:00
Justin Clark-Casey (justincc)
1a2627031d Add pCampbot "remove behaviour" console command for removing bot behaviours during operation.
Doesn't currently work very well as stopping physics, for instance, can leave bot travelling in old direction
2013-09-03 19:05:54 +01:00
Justin Clark-Casey (justincc)
9bd6271570 Add ability to adjust pCampbot bot behaviours whilst running with "add behaviour <behaviour-name> <bot-number>" console commad 2013-09-03 18:51:55 +01:00
Justin Clark-Casey (justincc)
01cb8033a4 And fix break in "show bot" from commit 9c65207 2013-09-03 17:55:20 +01:00
Justin Clark-Casey (justincc)
a89c56dcf1 Fix build break from last commit 9c65207. Mono 2.4 lacks string.join(string, List<string>), or some auto casting is missing 2013-09-03 17:53:29 +01:00
Justin Clark-Casey (justincc)
9c65207936 Show behaviours of pCampbot bots in "show bots" and "show bot" console commands 2013-09-03 17:07:57 +01:00
Justin Clark-Casey (justincc)
1a623bb266 Rename pCampbot.ini -> pCampBot.ini (and example file) to be consistent with other capitalizations of pCampBot 2013-08-23 20:58:46 +01:00
Justin Clark-Casey (justincc)
050617ae0e Make pCampbot "show bot" command take the bot number instead of the full bot name
Shorter and can do this because bot names are uniform
2013-08-23 01:13:19 +01:00
Justin Clark-Casey (justincc)
13556cf129 Fix a further bug in pCampbot connect where ignoring already connected bots was wrongly counted as a connect
Also, only sleep when we actually perform a connection
2013-08-22 23:49:19 +01:00
Justin Clark-Casey (justincc)
70f89ae65b Make it possible to adjust the pCampbot login delay via the [BotManager] LoginDelay parameter of pCampbot.ini 2013-08-22 23:43:33 +01:00
Justin Clark-Casey (justincc)
51c7fb1969 Add "set bots" command to make it possible to set SEND_AGENT_UPDATES on all bots whilst pCampbot is running 2013-08-22 23:11:05 +01:00
Justin Clark-Casey (justincc)
66a7dc3a0d In pCampbot, don't try and reconnect bots that are already connected on console "connect" command 2013-08-22 20:12:14 +01:00
Justin Clark-Casey (justincc)
4a81465b91 Fix build break from last commit a3e1b27 on mono 2.4.3
Looks like this level of mono doesn't have a string.Join() which will take a list rather than an array (or some implicit conversion isn't happening)
2013-08-20 18:47:52 +01:00
Justin Clark-Casey (justincc)
a3e1b278a1 Add pCampbot "show bot" console command to show more detailed information on a particular bot (e.g. what sims they are connected to) 2013-08-20 18:41:09 +01:00
Justin Clark-Casey (justincc)
56d1d67a34 Add pCampbot console commands to sit all bots on ground and stand all bots 2013-08-20 17:01:12 +01:00
Justin Clark-Casey (justincc)
a3dd7db4a3 Add -connect (-c) switch to pCampbot command line options.
Now, bots will only connect at startup if this switch is specified.
If it is not specified, then a separate "connect" command is required on the pCampbot command line
2013-08-20 00:08:47 +01:00
Justin Clark-Casey (justincc)
589b1a2eaf Make it possible to reconnect pCampbots with the console command "connect [<n>]".
If no n is given then all available bots are connected
2013-08-19 23:50:18 +01:00
Justin Clark-Casey (justincc)
ea3f024b8a refactor: start bot connection thread within BotManager rather than externally 2013-08-19 21:25:17 +01:00
Justin Clark-Casey (justincc)
079cd4e94f refactor: restructure pCampbot multi-bot connection code. 2013-08-19 21:17:59 +01:00
Justin Clark-Casey (justincc)
2fa42f24fd Make it possible to disconnected a specified number of bots via the pCampbot console command "disconnect [<n>]"
Bots disconnected are ascending from last in numeric order.
Temporarily no way to reconnect bots.
2013-08-19 21:00:31 +01:00
Justin Clark-Casey (justincc)
49b7cbda72 Create a separate pCampbot "disconnect" console command which disconnects connected bots.
"quit" console command now requires bots to be separate disconnected first before quitting.
This is to prepare the way for disconnecting/reconnecting different numbers of bots in a pCampbot session.
And hopefully resolves bug where console appears not to be reset if Environment.Exit(0) is called on a different thread
2013-08-19 20:29:17 +01:00
Justin Clark-Casey (justincc)
a90a5f52dd Show number of connections each bot has established in "show bots" command. 2013-08-19 19:38:20 +01:00
Justin Clark-Casey (justincc)
5011c657b5 Actually implement the bot request object textures switch started in 225cf0d.
Forgot to propogate it down to bot level.
2013-08-14 23:37:07 +01:00
Justin Clark-Casey (justincc)
2c67aa0f41 If pCampbot has been asked to shutdown, don't carry on logging in queued bots 2013-08-14 21:08:00 +01:00