FleepGrid Griefed! And How to Get HyperGrid User’s UUID from an Object

April 13, 2012 in Downtime, Griefers, Security

Over the past few days, a griefer has stopped by to drop a bunch of colored spheres all over FleepGrid and it’s taken a little time to figure out how to clean everything up since the griefer objects cause the sims to crash after a few minutes.  If you’ve tried to visit and couldn’t HG teleport or log in, that’s probably why.  My first inclination was to NOT post because I know griefers love the attention, but on the off chance he hits some else’s grid, I thought I’d share what happened.

The first attack came from the account “Jack Marioline”, which was created locally on FleepGrid.  With many thanks to Gudule Lapointe from Speculoos grid for alerting me to the issue, cleaning up that mess was relatively easy.  I use phpMyAdmin to poke around in the Opensim database, so it was easy to go to the “useraccounts” table and look up the UUID for that user and then delete the items from the prims table.

SELECT * FROM `useraccounts` WHERE `LastName` LIKE 'marioline'

This returns a row that shows the user’s “PrincipalID” or UUID that you can then use to search the prims table for items created by that user.

SELECT * FROM `prims` WHERE `CreatorID` LIKE '120aa461-0bd1-4c3a-a759-31fe9d73a328'

Checking to see that the results seemed about right (897 rows), then just delete those prims created by that user. Easy peasy and only took a few minutes. After that, I changed the password on that account so the griefer couldn’t log in and figured it was done.

However, a couple days later, shortly after the HyperGrid Adventurers Club stopped by on their way to the final destination of Devokan Tao (an awesome Myst themed area on OSGrid), I flipped back over to the FleepGrid window to see that Jack had struck again – this time from a HyperGrid account “Jack.Marioline @login.cyberwrld.net:8002″.

I was momentarily confused about how to proceed, since hypergrid users don’t show up in the database “useraccounts” table, so I couldn’t just look the user up to get the UUID to search by in the prims table. But then I remembered that Imprudence allows you to copy a user’s UUID from their profile, so I took one of the griefer objects and profiled the creator and voila, I had a UUID to search for.

Now strangely, when I searched the prims table by CreatorID for that UUID, I got no results, but I might have done something dumb and just didn’t realize it, since my second try, searching by OwnerID did work and I deleted the prims. But either way, getting the Hypergrid user account’s UUID was the trickiest part and the “Copy Key” button on the user’s profile in Imprudence was the solution.

Hope that helps someone else!

FleepGrid Provisionally Back Up Following Hard Disk Failure

March 19, 2012 in Downtime

It’s been a long few days.  (This post is being updated as services are restored.)

The TL;DR Version

I’ll try to re-cap what happened in detail, but the long and short of it is that the FleepGrid server had a total hard drive failure and I had difficulty restoring things from backup.  Here’s the quick status of each service:

  • FleepGrid is ONLINE – but has time-warped back to October 2011 since that was the last complete database backup I was able to restore.  This means if you created an account on FleepGrid between October and now, your account, your inventory, and anything else is gone.  =(  I’m really sorry.  Really REALLY sorry.
  • The FleepGrid website is ONLINE - should be fine, no data loss.
  • The FleepGrid Web Shop is ONLINE has been upgraded to a newer version and hopefully everything is completely restored.
  • The FleepGrid Portal region on OSGrid is ONLINE.  

The Tell Me Everything Version

Indications of Trouble

The first hint that something was wrong actually wasn’t obvious.  On Thursday last week, a few people notified me that they were having trouble importing IAR files from the FleepGrid Web Shop that they’d just downloaded.  This seemed quite strange, since everything had been working fine the day before (I’d imported an IAR file into OSGrid from my own website with no trouble).  I sent a message to the listserv asking if anyone had a hint about the error message:

20:26:41 - Command error: System.IO.InvalidDataException: The magic number in GZ
ip header is not correct. Make sure you are passing in a GZip stream.
at System.IO.Compression.GZipDecoder.ReadGzipHeader()
at System.IO.Compression.Inflater.Decode()
at System.IO.Compression.Inflater.Inflate(Byte[] bytes, Int32 offset, Int32 l
ength)

No one replied, and while I was trying to figure out what was wrong with the IAR files, I decided to further separate some of the region processes so I could shut off a few regions that weren’t really being used to improve performance on the grid.  Except when I tried to copy over my opensim config files, I got an ominous windows error:

Cannot copy opensim_0.7.2: Data error (cyclic redundancy check)

One quick google of  cyclic redundancy check and I was suddenly (painfully) aware that the hard drive was probably failing and I needed to get any data I could ASAP.  Which I did.  And I had backups!  So, while I was very bummed, and dreading re-installing Windows and everything, I wasn’t terribly worried about data loss since I regularly take database dump backups and OAR backups and save them out to an external drive.

It will be a pain, I thought, but doable over the weekend.

Installing New Hard Drive, Installing Windows, Installing installing installing…

I hopped in the car and picked up a new drive and got started with the Windows install straight away.  By the next morning, Windows was done and I got going on installing all the other software I use.  I won’t bore you with too many of the details, but I tried to keep super good notes in case anyone else is prepping a Windows XP box for Opensim and wants to follow what I did.  (It’s the 3/17/2012 entry if you’re reading this post later.)

Note:  I also run the http://fleepgrid.com WordPress site and the FleepGrid Shop Opencart site from the same server, so had to install a bunch of stuff for those services that you would NOT need to install for plain Opensim.

O NOES – Problems with my Backups

Everything was going swimmingly until I got to the point of restoring the database mysql dumps.  All of the databases restored beautifully… except the one that was most important!  My Opensim database!  For some unknown reason (I still have to figure this out), all of my opensim database dumps only contained ONE TABLE – the asset table.  All the other tables, poof.  Not there.

Now, I do have OAR backups of all the regions, but I really did panic when I realized everything in my inventory, all of the user accounts, all of the other stuff that makes up FleepGrid besides the stuff out on the sims was gone.  :(

The only saving grace was that I’d done a full NTBackup of the FleepGrid system back in October 2011 as a test, and I still had that file, which I was able to restore and from there extract the mysql data files to restore a snapshot of the opensim database as it existed in October 2011.  Again, all the gory details of all the stupid things I tried in the interim are on the 3/17/12 change log entry.

What I Did Wrong

My primary mistake was not not having backups.  I had backups.  I was backing things up regularly, scheduled, automated even!

My mistake was that I never tested the backups.  If I’d tried it even once, I would have realized all the tables weren’t being dumped, and I would have saved myself a huge huge headache and lots of stress.

As an IT person, I know this.  You know this.  We all know this.  Still, when it comes to hobby projects like FleepGrid, we sometimes get lazy doing all the checklist things we know we should do, and then we pay for it.  Or at least I did, and any poor peeps whose accounts I just lost.  =(

—-

So that’s the update for now, more to come, I’m sure lots of things still aren’t working quite right, but I wanted to give an update as soon as I had a good idea of what the situation was.  Please be on notice that FleepGrid might be going up and down a bit while I get everything repaired, I probably won’t make a blog post each time, will just leave this here for reference.

And my sincere apologies again to anyone who was/is  inconvenienced by the outtage.  I’m really glad FleepGrid is just a test grid and hopefully if you run your own grid you will go off right this minute and test your backups to make sure they work so you don’t have to make a post like this.  ;)

 

“FleepGrid Portal” Region Added to OSGrid, Some Backend Updates to FleepGrid’s Architecture

March 10, 2012 in General News, Hypergrid

I’ve been meaning to hook up a sim to OSGrid to put out some freebies and provide some link love and support for the work they do there, and I’ve been getting lots more visitors from OSGrid lately too, so it seemed like a good time to try out Pathfinder’s “blamgate” hypergrid teleport portal script.

I ran into a little trouble at first, I didn’t realize you had to explicitly add a line in your opensim.ini file to Allow_osTeleportAgent = true, but thankfully I found another great tutorial from WhiteStar Magic with more info about hypergrid teleport objects, and that fixed me right up.

So now I can put up some freebies directly on OSGrid, and provide a simple portal for anyone who wants to come visit FleepGrid directly.  Just walk through the portal and BAM, welcome to FleepGrid!  For reference, the region name on OSGrid is “FleepGrid Portal” and feel free to give it a try.  :)

Some Backend Updates to FleepGrid’s Architecture

End users on FleepGrid shouldn’t notice any differences, but for anyone who’s interested in running their own grid, I try to share things I try out in the administration of FleepGrid and since my last post I’ve made quite a few changes to the system architecture of the grid.

First, I broke the regions into groups and now run them on multiple instances of Opensim.  This makes it easy to shut down just some sims without disturbing others, and hopefully takes better advantage of memory resources by running multiple processes instead of all the sims on a single process.  If you’re interested in how this came about, see the email thread on the opensim-users listserv where we talked about it.

Second, I really wanted to figure out how to rotate log files in a sane way and schedule automatic backups instead of doing it manually as I’ve been doing, and thankfully WhiteStar Magic comes to the rescue again with great explanation and simple batch file scripts to do exactly that.  See this post for “smart starting” opensim, and this page for backing up on a windows system for step-by-step instructions.

And as always, details about my own trials and travails figuring this stuff out is on the FleepGrid Change Log.  (Ignore the aborted upgrade to Opensim 0.7.3, I had some issues and decided to give it a few weeks before I try again!)  ;)

FleepGrid Gets Voice, Shop Gets 50+ New Educational Items

January 19, 2012 in Freebies, Scripting

FleepGrid has voice!

 

With many thanks to Vivox for providing such a great service for us little guys, I’m excited to say that FleepGrid now has working voice communication!

I’d been hesitant to try to install other voice modules like Freeswitch or Mumble because it seemed like a very trying process, but the implementation of Vivox’s voice system for Opensim was amazingly simple!  If you’re a grid owner, just send an email to kamal [at] vivox.com and request login credentials for your grid.  It took a day or so to get a response and they provided a set of configuration lines to add to my opensim.ini file, restarted opensim, and voila – voice!  (Well, you also must enable voice on the region, the parcel, and for your avatar, but anyone familiar with how voice works in Second Life should be aware of that process most likely.)

FleepGrid Shop Gets 50+ New Educational Items & Buildings

Educational objects and classroom furniture, as well as the Sunnyside Hall building, are now available in the FleepGrid Shop as well as boxed items in the shops on FleepGrid Plaza.

In addition to getting voice working, I had some time over the weekend to box up some items that had been sitting in inventory for a while and finally got them uploaded to the FleepGrid Shop.  For users without console access, you can pick the freebies up via the HyperGrid or download the iar files from the web shop.

The Taliaferro Memorial Executive Suite is a great conference room in a small package. Created in memory of Taffy Taliaferro (SL), a member of the Chilbo Community who encouraged entrepreneurs in virtual worlds.


Items mostly include educational furniture like chairs, blackboards, lockers, and science lab furniture, and I also boxed up a few buildings that I’ve used in the FleepGrid Plaza area.  Hope you find something useful there.

Freebie Vendor Script for Opensim

Finally, I’ve also put up a script for a Freebie Vendor in the script archive on my wiki.  I’d spent some time a few months back looking for a working freebie vendor that played nicely with Opensim AND with grids that don’t have a money module installed and got pretty frustrated.

Scripts to build your own Freebie Vendor that works even on grids without a money module is available on the script archive wiki.


Fortunately one of the programmers I work with developed a set of scripts that work perfectly and the script is released under a CC license.   See the Freebie Vendor Script page for instructions to build your own, or pick up a copy of the vendor in the Tools & Hardware shop on FleepGrid.  (It’s not yet available on the  FleepGrid Shop on the web yet, coming soon!)

Several Regions Offline

December 6, 2011 in General News

Just wanted to note that a couple of regions are offline at the moment as I need to do some updating and in the meantime I took them off the grid.. so the map may be a bit inaccurate if you visit before I get everything fixed.

FleepGrid Down for Maintenance – Completed

November 19, 2011 in Downtime

UPDATE 11/20/11: Maintenance on the FleepGrid server has been completed.

All new modules installed successfully so I’m happy to say FleepGrid users can now create groups, edit their profile and have it persist, send offline IMs to friends and others, and use the search function! Super thanks to Mimetic Core for this wonderful module package!  

The HttpServer_OpenSim.dll, .pdb, and .xml files have also been updated with the latest versions, so there will hopefully be less random crashing of the simulators, too.  Thanks to JustinCC and Oren from Kitely for their assistance.  :)

As always, the step-by-step breakdown of how these modules/changes were installed are located at the FleepGrid Change Log at: http://fleep.wikispaces.com/FleepGrid
(11/19/11 and 11/20/11 entries).

- – - -

I’ll be taking FleepGrid down for a bit of maintenance today, which may intermittently affect the website and FleepGrid Shop as well.

First, I’m super excited to try to give Memetic Core’s new module package a try, if all goes well, it will include:

  • Groups
  • Profiles
  • Offline IMs
  • Search

In addition to trying the module package, I also want to deal with a bug I’ve been running into that’s causing intermittent crashing on the simulator, with an error message that looks like this:


Region (root) #
Unhandled Exception:Unhandled Exception: System.ArgumentOutOfRangeException: Spe
cified argument was out of the range of valid values.
Parameter name: offset at System.Net.Sockets.NetworkStream.BeginRead(Byte[] buffer, Int32 offset, In
t32 size, AsyncCallback callback, Object state) at HttpServer.HttpClientContext.OnReceive(IAsyncResult ar) in C:\Users\Crista\dev\opensim-HttpServer\trunk\HttpServer\HttpClientContext.cs:line 300
at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
at System.Net.ContextAwareResult.CompleteCallback(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Net.ContextAwareResult.Complete(IntPtr userToken)
at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32
errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32
errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

According to Oren Hurvitz from Kitely, this is a known issue with the HTTP Server .dll and he submitted a patch, but I didn’t feel up to the challenge of trying to rebuild it myself.  Thankfully, JustinCC rebuilt the DLL and added it to git master f72c4bd, so hopefully replacing the bugged version with the new one will fix those nasty crashing problems.

FleepGrid Temporarily Down for Maintenance – Completed

October 24, 2011 in Downtime

FleepGrid is temporarily down for some server maintenance.. Should be back up later today.

EDIT:  FleepGrid is back up and the maintenance has been completed.  Thanks for your patience!

FleepGrid Upgraded to Opensim 0.7.2 Successfully

October 13, 2011 in Downtime

FleepGrid is now running Opensimulator version 0.7.2 and the upgrade went smoothly.  Some issues to note (from the Release Notes):

Known issues

  • Sometimes creating body parts or clothing fails with no error message. This is not consistent – work around is simply to try again.
  • In a stock Linden Lab viewer 2/3, various tabs and buttons will point back to the Linden Lab website. In particular, the profile data will try to fetch from the Linden Lab website. It’s not known currently how/whether this can be changed in the stock viewer.
  • In viewer 2/3, an avatar will appear to slide for a short while before the walking animation kicks in.
  • No form of prim equivalence is implemented for meshes.
  • Loading scripts from the simulator library does not work properly.
  • Multiple attachments on a single attachment point not supported. However, in viewers which do support multiple attachments, the enforcing of a single attachment on the simulator end should be much smoother.
All services except for those noted appear to be back online.  Please let me know in the comments if you see anything amiss!

FleepGrid Server Upgraded to 4GB RAM, FleepGrid Shop Updated with New Items

October 3, 2011 in Downtime, Freebies

The FleepGrid server has been upgraded with 4GB of RAM today.  Hopefully users will see a noticeable improvement in performance on the grid!

The FleepGrid Shop has also been updated with several new items including:

  • Tweed pants for ladies in a variety of colors
  • Ballerina flat shoes for ladies in a variety of colors
  • The default OAR file for sims on FleepGrid
  • Landscaping items
  • A tutorial prim for landing zones
More to come now that the server is back up and hoping that FleepGrid will seem speedier!  Enjoy!

FleepGrid Upgrade to 0.7.2 RC2 Complete

September 24, 2011 in Downtime

The upgrade went fairly smoothly. Here’s a list of all the changes and updates made today:

  • Upgraded to Opensim 0.7.2 RC2 (i7) – Release Notes: http://opensimulator.org/wiki/0.7.2_Release
  • Upgraded to Diva Wifi for Robust 0.7.1.1
  • Changed all region coords consistent with FleepGrid Plaza centered at 9013,9013 to offset regions for HG travelers.
  • Renamed “Alexander” region to “AvaCon” for the non-profit http://avacon.org.
  • Updated FleepGrid.com map page with new map reflecting XX13 center coords and updated descriptions.
  • Updated map graphic at FleepGrid Plaza with new map, still need to update at the Gate regions.
  • Updated FleepGrid.com to WordPress 3.2.1
  • Updated information on FleepGrid Shop page to reflect new opensim version and HG coords.

Please let me know if you experience any strangeness that may be related to the upgrade, otherwise it looks like things are working ok!