diff options
-rw-r--r-- | bin/pCampBot.exe.config | 28 | ||||
-rw-r--r-- | pCampBot/BotManager.cs | 43 | ||||
-rw-r--r-- | pCampBot/PhysicsBot.cs | 25 | ||||
-rw-r--r-- | pCampBot/pCampBot.cs | 8 | ||||
-rw-r--r-- | pCampBot/prebuild.xml | 1 |
5 files changed, 50 insertions, 55 deletions
diff --git a/bin/pCampBot.exe.config b/bin/pCampBot.exe.config new file mode 100644 index 0000000..ff6ce7f --- /dev/null +++ b/bin/pCampBot.exe.config | |||
@@ -0,0 +1,28 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" ?> | ||
2 | <configuration> | ||
3 | <configSections> | ||
4 | <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> | ||
5 | </configSections> | ||
6 | <appSettings> | ||
7 | </appSettings> | ||
8 | <log4net> | ||
9 | <appender name="Console" type="OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console"> | ||
10 | <layout type="log4net.Layout.PatternLayout"> | ||
11 | <conversionPattern value="%date{HH:mm:ss} - %message%newline" /> | ||
12 | </layout> | ||
13 | </appender> | ||
14 | <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> | ||
15 | <file value="pCampBot.log" /> | ||
16 | <appendToFile value="false" /> | ||
17 | <layout type="log4net.Layout.PatternLayout"> | ||
18 | <conversionPattern value="%date %-5level - %logger %message%newline" /> | ||
19 | </layout> | ||
20 | </appender> | ||
21 | |||
22 | <root> | ||
23 | <level value="DEBUG" /> | ||
24 | <appender-ref ref="Console" /> | ||
25 | <appender-ref ref="LogFileAppender" /> | ||
26 | </root> | ||
27 | </log4net> | ||
28 | </configuration> | ||
diff --git a/pCampBot/BotManager.cs b/pCampBot/BotManager.cs index a9cd643..ee5f82d 100644 --- a/pCampBot/BotManager.cs +++ b/pCampBot/BotManager.cs | |||
@@ -44,25 +44,24 @@ namespace pCampBot | |||
44 | /// </summary> | 44 | /// </summary> |
45 | public class BotManager : conscmd_callback | 45 | public class BotManager : conscmd_callback |
46 | { | 46 | { |
47 | protected LogBase m_log; | 47 | private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); |
48 | |||
49 | protected ConsoleBase m_console; | ||
48 | protected List<PhysicsBot> m_lBot; | 50 | protected List<PhysicsBot> m_lBot; |
49 | protected Thread[] m_td; | 51 | protected Thread[] m_td; |
50 | protected string m_logFilename = "botlog.log"; | ||
51 | protected bool m_verbose = true; | 52 | protected bool m_verbose = true; |
52 | protected Random somthing = new Random(System.Environment.TickCount); | 53 | protected Random somthing = new Random(System.Environment.TickCount); |
53 | protected int numbots = 0; | 54 | protected int numbots = 0; |
54 | protected IConfig Previous_config; | 55 | protected IConfig Previous_config; |
55 | 56 | ||
56 | /// <summary> | 57 | /// <summary> |
57 | /// Constructor Creates Mainlog.Instance to take commands and provide the place to write data | 58 | /// Constructor Creates MainConsole.Instance to take commands and provide the place to write data |
58 | /// </summary> | 59 | /// </summary> |
59 | public BotManager() | 60 | public BotManager() |
60 | { | 61 | { |
61 | 62 | m_console = CreateConsole(); | |
62 | m_log = CreateLog(); | 63 | MainConsole.Instance = m_console; |
63 | MainLog.Instance = m_log; | ||
64 | m_lBot = new List<PhysicsBot>(); | 64 | m_lBot = new List<PhysicsBot>(); |
65 | |||
66 | } | 65 | } |
67 | 66 | ||
68 | /// <summary> | 67 | /// <summary> |
@@ -101,7 +100,6 @@ namespace pCampBot | |||
101 | { | 100 | { |
102 | startupBot(i, Previous_config); | 101 | startupBot(i, Previous_config); |
103 | } | 102 | } |
104 | |||
105 | } | 103 | } |
106 | 104 | ||
107 | /// <summary> | 105 | /// <summary> |
@@ -151,19 +149,19 @@ namespace pCampBot | |||
151 | switch (eventt) | 149 | switch (eventt) |
152 | { | 150 | { |
153 | case EventType.CONNECTED: | 151 | case EventType.CONNECTED: |
154 | MainLog.Instance.Verbose(" " + callbot.firstname + " " + callbot.lastname, "Connected"); | 152 | m_log.Info("[ " + callbot.firstname + " " + callbot.lastname + "]: Connected"); |
155 | numbots++; | 153 | numbots++; |
156 | break; | 154 | break; |
157 | case EventType.DISCONNECTED: | 155 | case EventType.DISCONNECTED: |
158 | MainLog.Instance.Verbose(" " + callbot.firstname + " " + callbot.lastname, "Disconnected"); | 156 | m_log.Info("[ " + callbot.firstname + " " + callbot.lastname + "]: Disconnected"); |
159 | m_td[m_lBot.IndexOf(callbot)].Abort(); | 157 | m_td[m_lBot.IndexOf(callbot)].Abort(); |
160 | numbots--; | 158 | numbots--; |
161 | if (numbots >1) | 159 | if (numbots >1) |
162 | Environment.Exit(0); | 160 | Environment.Exit(0); |
163 | break; | 161 | break; |
164 | |||
165 | } | 162 | } |
166 | } | 163 | } |
164 | |||
167 | /// <summary> | 165 | /// <summary> |
168 | /// Shutting down all bots | 166 | /// Shutting down all bots |
169 | /// </summary> | 167 | /// </summary> |
@@ -173,23 +171,15 @@ namespace pCampBot | |||
173 | { | 171 | { |
174 | pb.shutdown(); | 172 | pb.shutdown(); |
175 | } | 173 | } |
176 | |||
177 | |||
178 | |||
179 | } | 174 | } |
180 | 175 | ||
181 | /// <summary> | 176 | /// <summary> |
182 | /// Standard Creatlog routine | 177 | /// Standard CreateConsole routine |
183 | /// </summary> | 178 | /// </summary> |
184 | /// <returns></returns> | 179 | /// <returns></returns> |
185 | protected LogBase CreateLog() | 180 | protected ConsoleBase CreateConsole() |
186 | { | 181 | { |
187 | if (!Directory.Exists(Util.logDir())) | 182 | return new ConsoleBase("Region", this); |
188 | { | ||
189 | Directory.CreateDirectory(Util.logDir()); | ||
190 | } | ||
191 | |||
192 | return new LogBase((Path.Combine(Util.logDir(), m_logFilename)), "Region", this, m_verbose); | ||
193 | } | 183 | } |
194 | 184 | ||
195 | /// <summary> | 185 | /// <summary> |
@@ -219,11 +209,11 @@ namespace pCampBot | |||
219 | switch (command) | 209 | switch (command) |
220 | { | 210 | { |
221 | case "shutdown": | 211 | case "shutdown": |
222 | MainLog.Instance.Warn("BOTMANAGER", "Shutting down bots"); | 212 | m_console.Warn("BOTMANAGER", "Shutting down bots"); |
223 | doBotShutdown(); | 213 | doBotShutdown(); |
224 | break; | 214 | break; |
225 | case "quit": | 215 | case "quit": |
226 | MainLog.Instance.Warn("DANGER", "This should only be used to quit the program if you've already used the shutdown command and the program hasn't quit"); | 216 | m_console.Warn("DANGER", "This should only be used to quit the program if you've already used the shutdown command and the program hasn't quit"); |
227 | Environment.Exit(0); | 217 | Environment.Exit(0); |
228 | break; | 218 | break; |
229 | case "addbots": | 219 | case "addbots": |
@@ -234,10 +224,8 @@ namespace pCampBot | |||
234 | addbots(newbots); | 224 | addbots(newbots); |
235 | break; | 225 | break; |
236 | case "help": | 226 | case "help": |
237 | MainLog.Instance.Notice("HELP", "\nshutdown - graceful shutdown\naddbots <n> - adds n bots to the test\nquit - forcequits, dangerous if you have not already run shutdown"); | 227 | m_console.Notice("HELP", "\nshutdown - graceful shutdown\naddbots <n> - adds n bots to the test\nquit - forcequits, dangerous if you have not already run shutdown"); |
238 | break; | 228 | break; |
239 | |||
240 | |||
241 | } | 229 | } |
242 | } | 230 | } |
243 | 231 | ||
@@ -250,5 +238,4 @@ namespace pCampBot | |||
250 | 238 | ||
251 | } | 239 | } |
252 | } | 240 | } |
253 | |||
254 | } | 241 | } |
diff --git a/pCampBot/PhysicsBot.cs b/pCampBot/PhysicsBot.cs index 53a774a..500683a 100644 --- a/pCampBot/PhysicsBot.cs +++ b/pCampBot/PhysicsBot.cs | |||
@@ -38,8 +38,6 @@ using OpenSim.Framework; | |||
38 | using OpenSim.Framework.Console; | 38 | using OpenSim.Framework.Console; |
39 | using Timer=System.Timers.Timer; | 39 | using Timer=System.Timers.Timer; |
40 | 40 | ||
41 | |||
42 | |||
43 | namespace pCampBot | 41 | namespace pCampBot |
44 | { | 42 | { |
45 | public class PhysicsBot | 43 | public class PhysicsBot |
@@ -122,12 +120,12 @@ namespace pCampBot | |||
122 | { | 120 | { |
123 | client.Network.Logout(); | 121 | client.Network.Logout(); |
124 | } | 122 | } |
123 | |||
125 | /// <summary> | 124 | /// <summary> |
126 | /// This is the bot startup loop. | 125 | /// This is the bot startup loop. |
127 | /// </summary> | 126 | /// </summary> |
128 | public void startup() | 127 | public void startup() |
129 | { | 128 | { |
130 | |||
131 | client.Settings.LOGIN_SERVER = loginURI; | 129 | client.Settings.LOGIN_SERVER = loginURI; |
132 | client.Network.OnConnected += new NetworkManager.ConnectedCallback(this.Network_OnConnected); | 130 | client.Network.OnConnected += new NetworkManager.ConnectedCallback(this.Network_OnConnected); |
133 | client.Network.OnSimConnected += new NetworkManager.SimConnectedCallback(this.Network_OnConnected); | 131 | client.Network.OnSimConnected += new NetworkManager.SimConnectedCallback(this.Network_OnConnected); |
@@ -147,14 +145,12 @@ namespace pCampBot | |||
147 | } | 145 | } |
148 | else | 146 | else |
149 | { | 147 | { |
150 | 148 | MainConsole.Instance.Error(firstname + " " + lastname, "Can't login: " + client.Network.LoginMessage); | |
151 | MainLog.Instance.Error(firstname + " " + lastname,"Can't Log in: " + client.Network.LoginMessage); | ||
152 | if (OnDisconnected != null) | 149 | if (OnDisconnected != null) |
153 | { | 150 | { |
154 | OnDisconnected(this, EventType.DISCONNECTED); | 151 | OnDisconnected(this, EventType.DISCONNECTED); |
155 | } | 152 | } |
156 | } | 153 | } |
157 | |||
158 | } | 154 | } |
159 | 155 | ||
160 | public void Network_OnConnected(object sender) | 156 | public void Network_OnConnected(object sender) |
@@ -163,12 +159,10 @@ namespace pCampBot | |||
163 | { | 159 | { |
164 | OnConnected(this, EventType.CONNECTED); | 160 | OnConnected(this, EventType.CONNECTED); |
165 | } | 161 | } |
166 | |||
167 | } | 162 | } |
163 | |||
168 | public void Simulator_Connected(object sender) | 164 | public void Simulator_Connected(object sender) |
169 | { | 165 | { |
170 | |||
171 | |||
172 | } | 166 | } |
173 | 167 | ||
174 | public void Network_OnDisconnected(NetworkManager.DisconnectType reason, string message) | 168 | public void Network_OnDisconnected(NetworkManager.DisconnectType reason, string message) |
@@ -177,16 +171,11 @@ namespace pCampBot | |||
177 | { | 171 | { |
178 | OnDisconnected(this,EventType.DISCONNECTED); | 172 | OnDisconnected(this,EventType.DISCONNECTED); |
179 | } | 173 | } |
180 | |||
181 | |||
182 | } | 174 | } |
175 | |||
183 | public string[] readexcuses() | 176 | public string[] readexcuses() |
184 | { | 177 | { |
185 | |||
186 | |||
187 | |||
188 | string allexcuses = ""; | 178 | string allexcuses = ""; |
189 | |||
190 | 179 | ||
191 | string file = Path.Combine(Util.configDir(), "excuses"); | 180 | string file = Path.Combine(Util.configDir(), "excuses"); |
192 | if (File.Exists(file)) | 181 | if (File.Exists(file)) |
@@ -195,14 +184,8 @@ namespace pCampBot | |||
195 | allexcuses = csr.ReadToEnd(); | 184 | allexcuses = csr.ReadToEnd(); |
196 | csr.Close(); | 185 | csr.Close(); |
197 | } | 186 | } |
198 | |||
199 | 187 | ||
200 | return allexcuses.Split(Environment.NewLine.ToCharArray()); | 188 | return allexcuses.Split(Environment.NewLine.ToCharArray()); |
201 | |||
202 | } | 189 | } |
203 | |||
204 | |||
205 | } | 190 | } |
206 | |||
207 | |||
208 | } | 191 | } |
diff --git a/pCampBot/pCampBot.cs b/pCampBot/pCampBot.cs index 983eaf0..704a3f5 100644 --- a/pCampBot/pCampBot.cs +++ b/pCampBot/pCampBot.cs | |||
@@ -35,7 +35,6 @@ using Nini.Config; | |||
35 | using System.Threading; | 35 | using System.Threading; |
36 | using OpenSim.Framework.Console; | 36 | using OpenSim.Framework.Console; |
37 | 37 | ||
38 | |||
39 | namespace pCampBot | 38 | namespace pCampBot |
40 | { | 39 | { |
41 | /// <summary> | 40 | /// <summary> |
@@ -47,10 +46,9 @@ namespace pCampBot | |||
47 | CONNECTED = 1, | 46 | CONNECTED = 1, |
48 | DISCONNECTED = 2 | 47 | DISCONNECTED = 2 |
49 | } | 48 | } |
49 | |||
50 | public class pCampBot | 50 | public class pCampBot |
51 | { | 51 | { |
52 | |||
53 | |||
54 | [STAThread] | 52 | [STAThread] |
55 | public static void Main(string[] args) | 53 | public static void Main(string[] args) |
56 | { | 54 | { |
@@ -63,7 +61,6 @@ namespace pCampBot | |||
63 | cs.AddSwitch("Startup", "lastname"); | 61 | cs.AddSwitch("Startup", "lastname"); |
64 | cs.AddSwitch("Startup", "password"); | 62 | cs.AddSwitch("Startup", "password"); |
65 | 63 | ||
66 | |||
67 | IConfig ol = cs.Configs["Startup"]; | 64 | IConfig ol = cs.Configs["Startup"]; |
68 | int botcount = ol.GetInt("botcount", 1); | 65 | int botcount = ol.GetInt("botcount", 1); |
69 | BotManager bm = new BotManager(); | 66 | BotManager bm = new BotManager(); |
@@ -72,9 +69,8 @@ namespace pCampBot | |||
72 | bm.dobotStartup(botcount, ol); | 69 | bm.dobotStartup(botcount, ol); |
73 | while (true) | 70 | while (true) |
74 | { | 71 | { |
75 | MainLog.Instance.MainLogPrompt(); | 72 | MainConsole.Instance.Prompt(); |
76 | } | 73 | } |
77 | |||
78 | } | 74 | } |
79 | } | 75 | } |
80 | } | 76 | } |
diff --git a/pCampBot/prebuild.xml b/pCampBot/prebuild.xml index d29d0fc..1f49082 100644 --- a/pCampBot/prebuild.xml +++ b/pCampBot/prebuild.xml | |||
@@ -52,6 +52,7 @@ | |||
52 | <Reference name="OpenSim.Framework.dll"/> | 52 | <Reference name="OpenSim.Framework.dll"/> |
53 | <Reference name="OpenSim.Framework.Console.dll"/> | 53 | <Reference name="OpenSim.Framework.Console.dll"/> |
54 | <Reference name="Nini.dll" /> | 54 | <Reference name="Nini.dll" /> |
55 | <Reference name="log4net"/> | ||
55 | 56 | ||
56 | <Files> | 57 | <Files> |
57 | <Match pattern="*.cs" recurse="true"/> | 58 | <Match pattern="*.cs" recurse="true"/> |