Welcome to MOOCOW, the Manual Obedience Operations Control of Win!
News: MOOCOW VERSION 1.0 RELEASED!!!!!!! (4/6/09) - 27 days after starting
Images at the end
What is MOOCOW?:
MOOCOW is an admin mod for Garrysmod. It is a project that I created in order to replace the old, dying, and poorly coded other admin mods for gmod.
MOOCOW is a simple, intuitive system that allows users to perform actions quickly and easily, and at the same time gives you the freedom to customize it should you choose. MOOCOW is the only admin mod that features customizable teams and commands to such as degree that you can actually choose where and to whom messages appear.
Why Choose MOOCOW?:
I'm not going to sit here and list nonexistent/implied/or otherwise standard features like you'll find in the features lists of some of my competitors, instead, I'm going to tell you about, good, unique, and powerful systems that are in place in this mod and this mod alone.
- Toggled commands. One of the major flaws with other mods is that it makes the commands that activate and deactivate certain punishments separate. This means that they need a lot more useless code to make it that way, and they make interfacing commands more difficult. MOOCOW's commands, however, can be imagined like light switches, every time you call the command on someone, you flip their light switch on or off.
- There are 'mass commands', meaning you can run commands on multiple people with only one call to a command! Just type a # symbol, followed by the rank to use it on, optionally followed by a + or - to have it work on all teams above/below that group respectively (inclusive with the group name you type)! (Example: "slay #client+", which will slay everybody)
- It's not case sensitive. That means that no matter where you enter data, whether it be in a configuration file or in chat or console, MOOCOW will read "HI" the same as "hi" the same as "Hi". This eliminates a lot of aggravation that people had with competitors.
- Features its own prop protection systems. These allow you to configure what gets protected, when it gets protected, and much much more! There are commands for adding prop friends, tools that are immune to protection, and more, including admin flags for prop protection.
- A Derma based, easy to use GUI that makes using all the commands very very easy. It's not the flashiest thing in the world, I admit, but it gets the job done. You can also use Derma skins with this, just like anything else to tailor it to your desires.
- Rank restriction systems, allowing you to configure what is the minimum rank that can attain a specific swep/sent/tool. This is all easily configurable through the GUI.
- A settings.txt file that allows you to change virtually anything that you desire! You can change the display messages for all commands, you can change what character sequence initiates a command (/help vs. !help vs. moocow help or anything else you like) and even misc settings that let you do things like determine if water should put out fires initiated by the burn command.
- It's 'bare-bones' by itself. While the package you download is not (you'd need to take out the plugins for it to be), the MOOCOW scripts (moocow_server.lua and moocow_client.lua) are completely independent and work by themselves; everything else is a plugin, everything. That means that you can choose exactly what you want for your server, without too much or too little. Everything from separate commands to command entry via chat is done through plugins. This same system creates a unique and favorable system for third party developers to use.
- Customizable groups. This is the only mod that only has one team hard coded (the default). All of the other mods tell you what to use, they say you must have an owner, super admin, admin, moderator, etc. team, and that's just not a good programming practice. MOOCOW, on the other hand, lets you choose precisely what teams you want and how they're configured. It has a powerful, easy-to-use system for creating teams in a teams.txt file in your garrysmod/data/moocow directory, allowing you to make any team you like. You can choose the name of the team, its display color for the scoreboard (scoreboard not implemented yet), what commands it has, and if it inherits the commands of a sub team.
- It's incredibly efficient. I was surprised when looking at the other popular admin mods to see how much unneeded clutter there was in their mods. It's amazing how little code it takes to do things that other mods use over 150 lines to accomplish. Many simple things, such as checks to ensure punishments have been made more efficient by making them not run every frame, but rather only when needed.
- A unique banning system. When you ban players, it will no longer use Valve's feature minimal recording system, instead, information of banned players is saved to a special file that allows you to easily view, in and out of game, who was banned, by whom, when, for how long, and why. Identification of the players involved in the ban process is simplified by the addition of the player's name alongside their Steam ID.
Enough Technical Stuff! Where can I find a Commands List?:
All commands can be found here
FAQ:
An FAQ can be found here
How do I Download/Install MOOCOW?:
MOOCOW is available as an SVN download *only* DO NOT UPLOAD IT ANYWHERE ELSE.
https://svn.sourceforge.net/svnroot/moocow
To install, simply follow the instructions here
For All Questions: Please, please, please go to the wiki before asking!
Credits
All of the code was written by me, turck3/Revan, however I did get a few pointers from ZeikJT of Wiremod and n00berific. Both of which were a huge help. Thanks.
Thanks to the beta testers also, Darastrix, Lancelot, Medic's Medic, and anyone else who tried it.
VIDEO - NOTE: GUI shown at old revision with gaps that have since been removed (see screenshots below)
MOOCOW Admin Mod by turck3 -- Revver Online Video Sharing Network
IMAGES
NOTE: Shown at low resolution to save on space! GUI *does* resize!
![]()
Last edited by turck3; 1 Week Ago at 09:09 PM.
Definately true, but abstraction can also make it easier to indentify the individual functionality, rather than the usual huge tangled mess of functionality.
However, as for the mod itself, I'd say this:
There are already lots (lots!) of these out there, and some are pretty good as far as I understand (even though being flawed). So sure configurability and plugins is a very nice way to distinguish one self.
But I have to say it is _very_ important to understand that plugins don't write themselves. I've seen far too many projects with excellent code and ideas go shit up because they somehow though that what people really wanted was a command prompt with no initial functionality and some crappy repository with 1000s of different shitty unreviewed/unaudited plugins that no users ever felt like browsing.
If you want to advertise extensibility, then ship all the reasonable plugins with your addon and allow the players to selectively disable/ignore them.
This is the approach I took with E2, most people won't care enough to go looking for extensions, nor make them themselves, so I commit everything that is reasonable, well-written and thought-through. It's a bit easier for admin-mods, but there is no point in having plugins if there are none or if it is impossible to find what one is looking for.
It is also important to note, with more possibilities to configure, it is also easy for the interface to fall behind, something which many users will base their decisions on and can make or break the success of a good plugins. It doesn't matter how technically superior something is unless the user also sees that.
Then you also always have the problem with interoperability, how do you for instance solve the problem of having a "groups" plugin and a "permissions" plugin (in general that is). The permissions plugin will be based on what is shipped with the mod, meaning regular users but no groups (or even worse, it will itself also implement groups). So it is also important to note that some functionality should perhaps be made part of the base addon itself to allow for derived extensions.
Excellent someone with sense writing a new admin mod. New Admin is trash i agree. I saw about 3 explodes of text files and promptly gave up on it yet facepunch still swarms on it.
Assmod... I see this as a mess aswell i read a custom function someone had written that i was trying to convert to ulx format and found the 3 lines that actually made the desired effect occur. Surrounding that was loads of really confusing assmod stuff that seemed to repeat itself the menu is also too small.
ULX - The configuration of this module is a pain especially permissions. I had to continually rewrite the permissions file by hand. ULX seems susceptible to completely being broken by even the slightest garrysmod update. I however use this one at the moment as it has the most mature user base. (even though the group who use my server used to play on the server that assmod was developed on)
As for your admin mod I request 2 things:
Scoreboard functionality - My donators get a special rank(Uberadmin) and their name is a gold color everywhere(UTeam and ULX). They love this more then the permission gains. I dont expect you to use sui_scoreboard its as messy as ulx
Plugins - As for plugin writing please write a built in function that will allow a plugin developer to easily check the status of the player before running a command. In most of the ulx commands the same few statements are ran to check that the player is alive,in a vehicle,not jailed,not noclipped, no ragdolled,not an admin. It makes plugins Large and cumbersome if i forget to recheck if a user is whatever then you end up with ragdolls with weapons nolcipping around building stuff.
A-Z Materials - Released!!!!!!!
Indeed, truth be told. However, I don't think that the plugin system is going to get a whole lot more code, it's working fine and very little information needs to be passed.
Aye, there are quite a few admin mods out there, the long term goal, is to outdo them all.
Initial release will consist of a large amount of useful plugins, others will be available for download on my website as the user desires. The release will also have base files for everything, including the groups to create a standard that will be determined and hopefully voted upon by this forum at a later date. No worriesBut I have to say it is _very_ important to understand that plugins don't write themselves. I've seen far too many projects with excellent code and ideas go shit up because they somehow though that what people really wanted was a command prompt with no initial functionality and some crappy repository with 1000s of different shitty unreviewed/unaudited plugins that no users ever felt like browsing.
Precisely what I'm doing. All of the basic functions, things that you'd find in *every* admin mod, will definitely be included with release. All plugins are also by default, disabled to all classes. As aforementioned in my first post, what users have access to each plugin is determined by the server owner and configured in a file. I will probably also make a system for in game editing of this.If you want to advertise extensibility, then ship all the reasonable plugins with your addon and allow the players to selectively disable/ignore them.
Plugins will not have the potential to break the code. All plugins must be added manually to the user groups in order for them to work, because of this, falling behind or receiving faults from plugins is unlikely.This is the approach I took with E2, most people won't care enough to go looking for extensions, nor make them themselves, so I commit everything that is reasonable, well-written and thought-through. It's a bit easier for admin-mods, but there is no point in having plugins if there are none or if it is impossible to find what one is looking for.
It is also important to note, with more possibilities to configure, it is also easy for the interface to fall behind, something which many users will base their decisions on and can make or break the success of a good plugins. It doesn't matter how technically superior something is unless the user also sees that.
Permissions are already managed in the core code. The entire permission system will definitely be included on release, what groups are available, and what they do, are what is configurable.Then you also always have the problem with interoperability, how do you for instance solve the problem of having a "groups" plugin and a "permissions" plugin (in general that is). The permissions plugin will be based on what is shipped with the mod, meaning regular users but no groups (or even worse, it will itself also implement groups). So it is also important to note that some functionality should perhaps be made part of the base addon itself to allow for derived extensions.
I don't know how to do scoreboards at the moment, but it is something to look into, I will see what I can do. I've always wanted to make a very easy system for adding additional custom ratings.. I'll probably have a file that contains rating names and image paths to display for them..
Not quite sure what you meant there, but I will definitely ensure that proper conditions are met for the plugin to run. Idealy, I won't be checking for the effects of other plugins, because a plugin system should have cohesive plugins that don't depend on other plugins to work. One thing I'm considering however, is a status variable on the player, to determine if commands can be run. That way, it's not specific to any one plugin, but still allows checks to be made accurately and quickly.Plugins - As for plugin writing please write a built in function that will allow a plugin developer to easily check the status of the player before running a command. In most of the ulx commands the same few statements are ran to check that the player is alive,in a vehicle,not jailed,not noclipped, no ragdolled,not an admin. It makes plugins Large and cumbersome if i forget to recheck if a user is whatever then you end up with ragdolls with weapons nolcipping around building stuff.
Go revan go! Can't wait till I see what you'll make out of this![]()
<3
RAdmin is the name of a popular remote administration program commonly used by unskilled twats who think they are hackers to gain unauthorized access to peoples machines. Might want to reconsider the name.
Just saying.
Aye, I figured that there was already something with that name... I will be renaming it eventually... but not yet.
By the way, small preview, one of my friends just helped me come up with a unique admin command, "break constraints", which will remove the constraints on every prop for the client you run it on. Meant for use with the most annoying n00bs.
As always, avaliable for php/cool web stuff creation![]()
WireSim - The coolest project I ever abandoned
Wiremod 1-click installer
Hey, look! It's a tutorial on using LuaInterface! It's outdated on a dead programming forum! Even better! I know!
Bookmarks