You can view it here:
http://code.google.com/p/sourceop/so...se/#hg%2Ftrunk

Code for other projects coming soon.

Sorry that some of it is a mess. It's a fairly old project (2004/2005) and it hasn't really ever been cleaned up. There are gems spread all over, though.
  • AdminOP.cpp and adminopplayer.cpp contain more code than they probably should.
  • bans.cpp contains all the code for loading and dealing with MySQL bans.
  • CAOP* are the code files for the SourceOP entities. All entities created in Lua are handled by CAOPLuaNormal.cpp.
  • DFBaseent/Radio are old and I don't think compiled any more but I've included them anyways in case something useful is in there, but not likely.
  • gamerulesproxy.cpp is responsible for finding the game rules object and hooking/interacting with it.
  • isopgamesystem.cpp is similar to the SDK's IGameSystem.
  • l_class_* files are the implementation for various Lua classes and are exposed via a modified version of Lunar.
  • Other l* code files are libraries.
  • playerdatabase.cpp contains all the code for maintaining the MySQL player database.
  • plugin_mm.cpp allows for the plugin to be loaded with Metamod Source. The plugin can also be loaded as a VSP which is exposed in serverplugin_empty.cpp.
  • queuethread.h is a thread-safe template class that inherits Valve's CThread and provides a queue for handling items of any type. You provide the implementation for handling each item. Items can be added to the queue from any thread and are serviced/handled on their own thread.
  • reservedslots.cpp load and handle the MySQL reserved slots.
  • sopmysql is a thin wrapper around the raw MySQL library calls.
  • specialitems loads custom TF2 items from a MySQL database. These are applied in HookGiveNamedScriptItem in AdminOP.cpp.
  • sourceopadmin.cpp contains the server-side implementation for the remote admin client.
  • vfuncs.cpp is responsible for loading the DF_funcoffs.txt file and allowing calls to the virtual functions specified there. It also searches the data tables for offsets to various member variables and exposes functions to get/set them.

You can use this thread and subforum to ask questions, share things you found that were helpful, etc.