Many admin mods have been released lately. Some very well known and widely used, like ASSMod and ULX and some lesser known, like Citrus. Evolve used to be one of those much lesser known admin mods too, but now I have decided that it's ready to be released to the general public.
Using an certain admin mod is not something you should do without much care. It's important to consider what functionality you're after and what the admin mod has to offer. I'll start by listing the features classic admin mods don't have.
- Evolve is already a proven admin mod, proven by the fact it's already running well on about 35 servers.
- Extensive support for custom ranks, which can be modified to suit your needs in realtime.
- The menu design is a well balanced mix between ULX' and ASSMod's. It's as compact as ASSMod's, as feature-rich as ULX' and works as smoothly as the well known iPhone menus.
- Unlike ASSMod, Evolve is very actively developed and any bugs are almost always fixed within 24 hours.
- There are over 50 plugins, which all have an actual use, unlike gimmicky commands like !gimp.
- Above all that, it comes with a sexy scoreboard which functions out of the box for Sandbox servers.
Some noteworthy plugins
- Per-player no-limits
- Fake achievements on people.
- Send private messages around without the need of an RP gamemode.
- Extinguish all props.
- Make people enter or leave vehicles.
-
More...
Plugin development in Evolve was made as convenient as possible. I could bore you with all the internal details, but I think it's a better idea to show the code of a simple plugin, so you can decide for yourself.
Situation: I want to make a plugin which slays people. (How original

)
Code:
-- First we specify some information about our plugin.
local PLUGIN = {}
PLUGIN.Title = "Slay"
PLUGIN.Description = "Makes people die."
PLUGIN.Author = "YourName"
PLUGIN.ChatCommand = "slay"
PLUGIN.Usage = "[players]"
PLUGIN.Privileges = { "Slay people" }
-- Here we specify what happens when a user calls the command, either by using the 'ev' console command or chat.
function PLUGIN:Call( ply, arguments )
-- First check if the player has the required privilege
if ( ply:EV_HasPrivilege( "Slay people" ) ) then
-- Now find all players which were specified.
local players = evolve:FindPlayer( args, ply )
-- Loop through the selected players and 'slay' them.
for _, pl in ipairs( players ) do
pl:Kill()
end
-- Display a message.
-- The evolve.CreatePlayerList function creates a nice string out of a player list.
if ( #players > 0 ) then
evolve:Notify( evolve.colors.blue, ply:Nick(), evolve.colors.white, " has slayed ", evolve.colors.red, evolve:CreatePlayerList( players ), evolve.colors.white, "." )
else
evolve:Notify( ply, evolve.colors.red, "No matching players found." )
end
else
evolve:Notify( ply, evolve.colors.red, evolve.constants.notallowed )
end
end
-- Using hooks in your plugin is simply a matter of doing this:
function PLUGIN:PlayerSpawn( ply )
end
-- Finally register the plugin.
evolve:RegisterPlugin( PLUGIN )
That wasn't too hard, was it? Now, that you've made your plugin, you obviously want as many people as possible to use it.
Luckily it's very easy to distribute your plugin to other users of Evolve. All you need to do, is to upload your plugin to the Evolve website.
There is no release yet, but a beta version of Evolve is already available for everyone to download via Subversion:
Code:
http://evolvemod.googlecode.com/svn/trunk/beta
For instructions on how to use SVN, refer to
the Evolve website.
Basic setup
If you're hosting a listen server, you will be owner automatically. If you want to rank other people or you're hosting a dedicated server, use the following console command. On a dedicated server you would enter it via RCON or the console directly.
Code:
ev rank yourname guest/respected/admin/superadmin/owner
Note: You don't have to use your complete name, but if you want to, you need to put it between quotes if it contains spaces.
Using the menu
To start using the menu, bind a key to
+ev_menu like this:
You can use any key, but I think
T is the most convenient, because it's easy to reach when using the AWSD keys.
Using console commands
When you're not in the server and you want to accomplish something using RCON, you can use the ev console command. The syntax is the same as the chat command. Here's an example:
Code:
ev kick minge Go annoy someone else
Notice that with Evolve, you don't have to use quotes around arguments with spaces. However, if you're used to them, you can still use them.
Divran for bugging me to fix bugs.
The servers using Evolve for motivating me to continue developing and submitting bugs for me to fix and features for me to add.
Prefan for the competition, which made me work a lot harder for the past few weeks.
Mostly, a BIG thank you to all the people who have used and tested Evolve for the past few months. Without you Evolve wouldn't have been what it is today.