This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
fuss:opensim [2014/10/11 23:22] – [Extract Password Hashes From Database Using MySQL] office | fuss:opensim [2022/04/19 08:28] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Database Statistics ====== | ||
+ | |||
+ | * User accounts in the database: | ||
+ | |||
+ | <code sql> | ||
+ | SELECT COUNT(*) FROM UserAccounts; | ||
+ | </ | ||
+ | |||
+ | * Users logged-in at least once: | ||
+ | |||
+ | <code sql> | ||
+ | SELECT COUNT(*) FROM UserAccounts WHERE ServiceURLs NOT LIKE ' | ||
+ | </ | ||
+ | |||
+ | * Number of regions: | ||
+ | |||
+ | <code sql> | ||
+ | SELECT COUNT(*) FROM regions; | ||
+ | </ | ||
+ | |||
+ | ====== Extract Password Hashes From Database Using MySQL ====== | ||
+ | |||
+ | The following command will extract first name, last name, '' | ||
+ | |||
+ | <code sql> | ||
+ | SELECT FirstName, | ||
+ | </ | ||
+ | |||
+ | The returned output will be of the form: | ||
+ | |||
+ | ^ '' | ||
+ | | Taller | ||
+ | |||
+ | ====== Run System Command from OpenSim ====== | ||
+ | |||
+ | You can use C# in OpenSim by adding '' | ||
+ | < | ||
+ | AllowedCompilers = " | ||
+ | </ | ||
+ | |||
+ | Then, create an in-world script containing the following annotated code: | ||
+ | <code csharp> | ||
+ | //c# | ||
+ | /////////////////////////////////////////////////////////////////////////// | ||
+ | // Copyright (C) Wizardry and Steamworks 2011 - License: GNU GPLv3 // | ||
+ | /////////////////////////////////////////////////////////////////////////// | ||
+ | |||
+ | public void default_event_touch_start(LSL_Types.LSLInteger num) | ||
+ | { | ||
+ | System.Diagnostics.Process p = new System.Diagnostics.Process(); | ||
+ | p.StartInfo.UseShellExecute = false; | ||
+ | // redirect standard output to retrive results | ||
+ | p.StartInfo.RedirectStandardOutput = true; | ||
+ | // this represents the name of the command | ||
+ | p.StartInfo.FileName = " | ||
+ | // this represents the arguments passed to the commands | ||
+ | p.StartInfo.Arguments = " | ||
+ | // start the process | ||
+ | p.Start(); | ||
+ | | ||
+ | // get the output of the command | ||
+ | LSL_Types.LSLString output = p.StandardOutput.ReadToEnd(); | ||
+ | | ||
+ | // wait for command termination (optional) | ||
+ | p.WaitForExit(); | ||
+ | | ||
+ | // say the output on local chat | ||
+ | llSay(0, output); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | which overrides the '' | ||