Commit Graph

67 Commits

Author SHA1 Message Date
Jeff Ames
e207284fef Clean up logging calls using String.Format explicitly 2008-02-10 01:57:59 +00:00
Adam Frisby
f93fdfa5af * Marking off which uses of catch (Exception e) is legit and which are not, for later removal/replacement. 2008-02-06 15:30:02 +00:00
Jeff Ames
6ed5283bc0 Converted logging to use log4net.
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
2008-02-05 19:44:27 +00:00
Tedd Hansen
1d95f0521d Reverted MySQLDataStore.cs to not use static mutexes any more, patch didn't work anyway.
Added js to OpenSim.ini.example.
2008-02-05 12:18:50 +00:00
Tedd Hansen
7bd3ecfc2a Bugfixes. Now it even reads configuration before it uses it! ;) 2008-02-02 04:35:08 +00:00
Tedd Hansen
8dc5153ad7 Added header/footer of scripts to make C# and VB scripts much easier to write.
Added some logging on what is happening during compile.
2008-02-02 03:42:35 +00:00
Tedd Hansen
e06ee9fd4b Added load/unload queue size limit
Added option to share script load/unload thread between regions
Added event execution queue size limit
+ some bugfixes from all the changes
2008-02-02 03:11:06 +00:00
Tedd Hansen
8ccc12d642 Added OpenSim.32BitLaunch.exe that can be used on 64-bit systems to run OpenSim in 32-bit mode.
Added VISUAL BASIC.NET-support
//cs, //lsl and //vb as first characters of script will determine what compiler is used.
Compile warnings are no longer treated as errors. Script will still run.
Added a few useless and useful config options:
Write script source to harddisk for debug, Default compile language, Allowed compilers (languages), compile in release or debug mode, clean up old scripts on startup
Loads of warnings for incorrect config
2008-02-02 02:35:56 +00:00
Tedd Hansen
667197f24d Added OpenSim.32BitLaunch.exe that can be used on 64-bit systems to run OpenSim in 32-bit mode.
Fixed ScriptEngine.Common startup problems.
2008-02-02 00:59:22 +00:00
Tedd Hansen
d02a90823f SCRIPTING STILL BROKEN
Added comments and regions, restructured code
Changed a lot of AppDomain junk from console from using Console.Write to Log.Verbose and set it to #if DEBUG
All modules should now refresh their configuration runtime
Made all logging in ScriptEngine.Common get script name from actual engine
Renamed LSLLongCmdHandler to AsyncLSLCommandManager
Added auto-recover with 5 sec throttle for new MaintenanceThread
2008-02-01 23:36:36 +00:00
Tedd Hansen
da8923450a Small bug in ResetScript 2008-01-21 12:00:27 +00:00
Tedd Hansen
82d43db1cc Added data structure to be passed through event execution queue so that events can use llDetect*-commands to find information about event. 2008-01-17 15:22:35 +00:00
Adam Frisby
b25f9f322c * Mother of all commits:
* Cleaned up copyright notices in AssemblyInfo.cs's
* Added Copyright headers to a bunch of files missing them
* Replaced several common string instances with a static constant to prevent reallocation of the same strings thousands of times. "" -> String.Empty is the first such candidate.
2008-01-15 02:09:55 +00:00
Tedd Hansen
bacbade369 Major reorganizing of DotNetEngine. Moved common script engine parts to ScriptEngine.Common, only .Net-specific code in DotNetEngine. AppDomains, event handling, event execution queue and multithreading, script load/unload queue, etc has been moved to ScriptEngine.Common.
Loads of things has been put into interfaces instead of the specific class.
We are now one step closer to ScriptServer, and its very easy to implement new script languages. Just a few lines required to make them a OpenSim script module with all its glory.
2008-01-12 14:30:22 +00:00
Tedd Hansen
0fb0a6816d Only one queue is used for load/unload of scripts.
So loading/unloading of scripts are now done in same sequence as they are called.
2008-01-05 20:05:29 +00:00
Tedd Hansen
7ef09a1202 Added comments to ScriptEngine classes that explains what their purpose is 2007-12-30 16:32:29 +00:00
lbsa71
efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
Charles Krinke
a0a189aed2 Thanks to Alondria for:
llResetScript() is now functional. With this patch, Kan-script 0000003 should run.
Noted the llListen(0,"","","") errored due to "" != UUID - patched to set to 
NULL_KEY which then works to listen to everything.
2007-12-12 22:07:40 +00:00
Jeff Ames
af6eb67999 saved OpenSim source code from the giant rampaging unterminated copyright notice of doom 2007-12-10 05:25:16 +00:00
Jeff Ames
0b4e15bc35 converted hard-coded chat type values to ChatTypeEnum 2007-11-08 03:11:10 +00:00
Tedd Hansen
dcf41cb683 ScriptServer fixes: Added more debug logging, mutex lock (to be extra-super-sure) on script load/unload, removed experimental Grid-scriptengine from compile because of dynamic module loader, and added random string to script filename to bypass module loader file lock.
Please delete your copy of bin/ScriptEngine/OpenSim.Grid.ScriptEngine.DotNetEngine.dll.
2007-11-01 19:27:03 +00:00
lbsa71
67e12b95ea * Optimized usings
* Shortened type references
* Removed redundant 'this' qualifier
2007-10-30 09:05:31 +00:00
Sean Dague
c3d8f1f425 getting all our line endings consistant again 2007-10-05 15:45:45 +00:00
lbsa71
a963b3057b * Replaced usage of ClientView with IClientAPI
* Some propertification and hideousness of fields.
2007-09-18 09:59:33 +00:00
Sean Dague
b8d9737a47 fixing me some line endings 2007-09-17 12:52:03 +00:00
Tedd Hansen
c654506b18 Implemented: llSetText, llResetScript
Implemented: llHTTPRequest (queue, thread, etc -- but not actuall call)
2007-09-16 03:36:13 +00:00
lbsa71
f8ddf7429e * Wired up chat so that channel goes into OnChatFromViewer. However:
* There's no libsl reply packet field for it, I guess other channels than 0 makes no sense sending back to clients.
  * We do not currently support objects listening, so there's really no way of actually using this feature.
So; somebody please wire chat all the way to the scripts.
2007-09-14 13:46:05 +00:00
Sean Dague
af6c9d355d implement llGetScale and llSetScale
drop IScriptHost for now and just use SceneObjectPart, given how many of
SceneObjectPart's properties we need for the script engine
2007-09-13 13:06:54 +00:00
Sean Dague
afea5f2205 remove ^M, as native storage should be UNIX format, and ^M in/out mashing
will happen on the windows side now that eol-style is correct
2007-09-13 11:41:42 +00:00
Tedd Hansen
cef8c5e9d7 Hiding evidence that I once was a VB coder (thanks to refactoring). Renamed member names to smallcapsy. 2007-09-13 11:11:08 +00:00
Sean Dague
ffe9c9374a mass update of urls in source code to new website 2007-09-10 08:14:38 +00:00
Tedd Hansen
5a149084d4 startup event on script added to object, not all inside object. 2007-08-28 18:22:48 +00:00
Tedd Hansen
ebb0099816 Run-time script errors are now shown in-world. No line number though, might require script to be compiled with (slow) debug information. 2007-08-26 13:31:58 +00:00
Tedd Hansen
25e200c46a Fixed bug that occurs sometimes on script unload where queued script event was attempted executed after AppDomain was unloaded. 2007-08-26 08:20:48 +00:00
Tedd Hansen
d9b9b16513 Script compiler should now show error on correct line number in original LSL-script. 2007-08-25 21:35:03 +00:00
Tedd Hansen
80234b98e5 Removal of script that was unable to compile no longer crashes server.
Displays script compile error messages in-world.
2007-08-25 20:34:54 +00:00
Tedd Hansen
b75c1b2191 Added class for "long commands" (command that returns as event) with dedicated thread for processing. Added support for llSetTimerEvent(). Deleting old compiled scripts before new compile is attempted (avoids loading wrong script on compile error). 2007-08-25 19:08:15 +00:00
Tedd Hansen
53be4774b3 Scripts no longer crash sim after 5 minutes (override InitializeLifetimeService). Loading/Unloading of scripts are now handled in separate thread so server is no delayed because of this. Each script is loaded into a single AppDomain (temporary test for script unload, eats ~15KB more memory for each script). Unload of scripts has been verified to free up memory. 2007-08-25 15:31:47 +00:00
Tedd Hansen
caee73353d Debug shows how many bytes (total) a script (assembly) uses after compile and load. 2007-08-22 20:01:04 +00:00
Tedd Hansen
4beef91d00 GC.GetTotalMemory(true) was blocking.
We now support individual scripts on individual prims. Do the script dance... \o/ \o\ /o/ \o/ .o.
2007-08-22 19:33:10 +00:00
Tedd Hansen
5a86fd2c31 (Untested) Scripts are individually loaded into objects (on rez), and event fired likewise. Bugfixes coming in next commit. 2007-08-22 18:09:38 +00:00
Tedd Hansen
33326c1a70 Some minor changes + krinkec's updates to ll* functions. 2007-08-20 10:58:51 +00:00
Tedd Hansen
1b826c2fdc Added "StopScriot()" to ScriptManager. Stops Executor from executing events in script, removes script from EventQueueManagers target list, tells AppDomainManager that script is no longer active (and ready for unload). 2007-08-19 17:47:47 +00:00
Tedd Hansen
eeaac68d73 Code comments on recent changes in EventQueueManager 2007-08-19 11:38:58 +00:00
Tedd Hansen
e70cdbc5ac Added event method invoke cache to Executor. "Bind once, Invoke multiple times". Will speed up script event execution considerable. But at the cost of some memory (will be optimized later with RuntimeXHandle). 2007-08-19 10:28:27 +00:00
Tedd Hansen
1893164d26 Moved script loading from ScriptManager to AppDomainManager. Now increases scripts loaded count in AppDomain properly. 2007-08-19 06:52:59 +00:00
Tedd Hansen
37446b0392 Moved in-AppDomain event execution from Script to OpenSim.Region.ScriptEngine.Executor. Script no longer responsible for handling event calls to itself (and we can create reference cache in Executor). 2007-08-18 23:24:38 +00:00
Tedd Hansen
240712ca9f Scripts are working again. Scripts are now loaded into limited AppDomains (no security yet).
*phew* that only took me 12 hours of coding...
2007-08-18 22:09:07 +00:00
Tedd Hansen
f444fe4f87 Moved OpenSim.Region.ScriptEngine.Common.dll from bin\ScriptEngine\ to bin\ folder - hopefully solves compile problem on Linux. 2007-08-18 21:10:40 +00:00
Tedd Hansen
1d41fd4984 Working on AppDomains. Scripting is now officially broken. :] 2007-08-18 19:54:04 +00:00