Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

SourceOP Code Released
#1

You can view it here:
http://code.google.com/p/sourceop/source...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.
Reply
#2

Thank you for releasing it at last.
Reply
#3

So how would I compile this under Release - Orangebox?
Reply
#4

You specifically mention reservedslots.cpp and playerdatabase.cpp, but neither are in the actual repo.
Reply
#5

nicatronTg Wrote:You specifically mention reservedslots.cpp and playerdatabase.cpp, but neither are in the actual repo.

I had the same problem in the beginning. There's actually a 'Next' button at the top right part of the screen that will bring you to the next page.

It's very hard to navigate on google code indeed.
Reply
#6

You can also just download the entire repository with hg clone
Code:
hg clone [url]https://drunkenf00l@code.google.com/p/sourceop/[/url] sourceop
Reply
#7

Can you please answer my question of how I would compile this against Orange Box?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)