The best way to achieve what you want is to set Mani up like this under the reserved slots module:
Code:
// *****************************************************************************
// Module : Reserve Slot
//
// Desc : The Reserve slot module configuration cvars
// *****************************************************************************
// Turn on off reserve slots
mani_reserve_slots 1
// Number of reserve slots you have
mani_reserve_slots_number_of_slots 1
// User defined message shown in players console when kicked
mani_reserve_slots_kick_message "You were disconnected for using a reserved slot, donate to recieve a reserved slot"
// User defined message for redirection of players to another server
mani_reserve_slots_redirect_message "This server is full, you are being redirected to another one of our servers"
// The IP address of the server you wish to redirect players to. Leave it blank
// if you do not want redirection to be used
mani_reserve_slots_redirect ""
// This defines whether you want your reserve slots to fill with reserve players
// or always be kept free (1 = allow slots to fill, 0 = always keeps slots free
// and kick player instead)
mani_reserve_slots_allow_slot_fill 0
// Type of method used to kick players, 0 = by highest ping (spectators first),
// 1 = by connection time (spectators go first)
mani_reserve_slots_kick_method 0
// Include admins in the adminlist.txt file as players who have reserve slots
// (1 = include admins)
mani_reserve_slots_include_admin 1
Launch your server with maxplayers 25
Once there are 24 people in the server, and someone else joins, they will get disconnected if they dont have reserved slot. If they do, one of the 24 people playing will get kicked (highest ping) - thus the 'reserved' slot is freed so the next person can join.
However, this setup has the
highly annoying setting that if you dont have a reserved slot you'll spend a minute or so joining, just to be booted with a message saying you dont have a reserved slot. I hate public servers that do this. The way to avoid this, and be kinder to the pub players who dont have reserved slots is to use the mani settings I posted above, set maxplayers in your launch paramaters to 25, and finally in your server.cfg set sv_visiblemaxplayers to 24.
This now gives you a 24 man server, with a hidden 25th slot, to access the reserved hidden slot, you
must use connect ip console command. If you opt to do this, tell your donors to bind the connect ip command to a key for ease.
Hope that helps.