 |
Server Help Community forums for Subgame, ASSS, and bots
|
Author |
Message |
L.C. Server Help Squatter

Age:34 Gender: Joined: Jan 03 2003 Posts: 574 Location: Missouri, US Offline
|
Posted: Tue Nov 21, 2006 7:02 pm Post subject: [MERVBot] myAdmin Plugin Project Idea |
 |
|
|
|
I spent from 2 to 3 hours writing this up.
myAdmin Plugin
Controls what commands a player is able to use through the bot or what class a player is settled on.
Every 'x' hours the bot will check the moderate.txt, smod.txt, and sysop.txt files and update its database.
The reason I think this would be a good plugin is because then it would allow more flexibility and sharper detail on how much power a player may have specifically. All commands must be done through the bot.
For example,
:BotName123:!myAdmin <PrivatePlayer> <Command> <Value0> <Value1> <Value2> <Value3> <Value4> <Value5> <Value6>
PrivatePlayer isn't required, it's only if you want this command private messaged to this player (a private command).
Command is obviously a command here with the */? before the command (this is to help distinguish between certain commands).
ValueX is an available placeholder for any BanG Command Prefixes, Values, etc.
Another example might be...
:BotName123:!myAdmin %tickname *prize #-13
:BotName123:!myAdmin ?bversion
:BotName123:!myAdmin MineGoBOOM *sysop
Whatever the server tells/replies back to whatever the bot does, for example, "Ban lifted," the bot will also private message back a perfect copy. For security reasons, I think the bot should have its replies begin with [ or | or something like that to prevent any manipulation or exploitation of its messenging process.
If nothing happens after entering a command, then nothing happens! The bot is much like a messenger and a regulator. This thought his my mind after thinking about the issues with the Halo zone and how I myself can prevent zone takeovers by staff and enforce it. In my zone one of the basic principals is that there can be one owner of the zone, and only one. No co-owners.
Sysops would have the ability to take over and boot me though, which would trigger me to request help from my zone host to solve this issue.
It will automatically read from the staff *.txt files in the zone to make sure things are going fine.
One of the commands would be !myAdminRefresh #. # would be a numeric value in minutes. Maximum value is 9999.
Another command would be !myAdminResync, which would force a check on the staff *.txt files.
!myAdminPower would toggle the plugin on and off.
!myAdminClass <player> <class> would assign the given class to the user. Class must be in the format of 'class_player.txt' (for example; must also have .txt).
!myAdminList would give a listing of players who have manually assigned classes (from the myAdminClass command).
!myAdminRemove <player> will remove the manually assigned class from this user and return them to whatever default class they would be using normally.
!myAdminSave will save the current database as it is.
Here's how I would imagine the INI/DAT/TXT files that control this plugin.
From myAdmin.ini
Quote: | //This file stores class information on each user
ClassDB=class.dat
//This will determine whether the plugin starts enabled or disabled by default (Disabled[0], Enabled[1])
myAdminAutoEnable=1
//Will save the database in the given amount of minutes automatically
myAdminSaveInterval=30
//If on, it will check the staff *.txt files and automatically regulate them (No[0], Yes[1])
//Works in co-operation with myAdminRefresh
myAdminAutoStaff=1
//The interval between staff *.txt file checks to automatically regulate for staff members in zone listing
//Max time is 9999
myAdminRefresh=360
//If left blank, blank standard stages will be referred to DefaultPlayer first,
//and if that fails, these players will have no effect from myAdmin (as if myAdmin
//were never installed)
//Define the default class file that players will be automatically have
DefaultPlayer=class_player.txt
//Define the default class files for each of the standard stages
DefaultSysop=class_sysop.txt
DefaultSMod=class_smod.txt
DefaultModerator=class_moderate.txt
DefaultVIP=class_vip.txt
//In this file we are defining the class files
//You can have up to 16 custom classes maximum
//Leave blank if none
Class00=
Class01=
Class02=
Class03=
Class04=
Class05=
Class06=
Class07=
Class08=
Class09=
Class10=
Class11=
Class12=
Class13=
Class14= |
From class_sysop.txt
Quote: | [Commands]
//Is this class file enabled? (No[0], Yes[1])
//If disabled, it will be completely ignored when checked; for example
//if this is the class_vip.txt file and you disable it, VIPs will have
//the same power as players will unless... See IgnorePlayerDefault comment
ActiveClassFile=1
ReferrerClass=class_player.txt
//If ActiveClassFile is set to 0, it will check this to see whether it should
//use the defined ReferrerClass (above) from myAdmin.ini or not. If not, it will be as if myAdmin
//was never installed for this type of player
//[0]No, use this class defined in myAdmin.ini if this class is disabled
//[1]Yes, completely ignore the referrer and act as if myAdmin didn't exist
IgnoreReferrer=0
//All regular commands below
//Private; Is this a private command? Don't touch this! (No[0], Yes[1])
//Enabled; Is this command enabled for this class? (No[0], Yes[1])
stat
Private=0
Enabled=1
addword
Private=0
Enabled=1
shutdown
Private=0
Enabled=1
s
Private=0
Enabled=1
g
Private=0
Enabled=1
log
Private=0
Enabled=1
energy
Private=0
Enabled=1
addmachine
Private=0
Enabled=1
removemachine
Private=0
Enabled=1
listmachine
Private=0
Enabled=1
ufo
Private=0
Enabled=1
super
Private=0
Enabled=1
mirror
Private=0
Enabled=1
getnews
Private=0
Enabled=1
putnews
Private=0
Enabled=1
getsysoplist
Private=0
Enabled=1
putsysoplist
Private=0
Enabled=1
getsmodlist
Private=0
Enabled=1
putsmodlist
Private=0
Enabled=1
getobscene
Private=0
Enabled=1
putobscene
Private=0
Enabled=1
getfile
Private=0
Enabled=1
putfile
Private=0
Enabled=1
delfile
Private=0
Enabled=1
version
Private=0
Enabled=1
lag
Private=0
Enabled=1
szone
Private=0
Enabled=1
zone
Private=0
Enabled=1
getlist
Private=0
Enabled=1
putlist
Private=0
Enabled=1
getmodlist
Private=0
Enabled=1
putmodlist
Private=0
Enabled=1
recycle
Private=0
Enabled=1
restart
Private=0
Enabled=1
prize
Private=0
Enabled=1
listmod
Private=0
Enabled=1
arena
Private=0
Enabled=1
permit
Private=0
Enabled=1
revoke
Private=0
Enabled=1
beginlog
Private=0
Enabled=1
endlog
Private=0
Enabled=1
shipreset
Private=0
Enabled=1
scorereset
Private=0
Enabled=1
flagreset
Private=0
Enabled=1
timereset
Private=0
Enabled=1
banner
Private=0
Enabled=1
lock
Private=0
Enabled=1
lockspec
Private=0
Enabled=1
lockteam
Private=0
Enabled=1
lockprivate
Private=0
Enabled=1
lockpublic
Private=0
Enabled=1
lockchat
Private=0
Enabled=1
lockall
Private=0
Enabled=1
timer
Private=0
Enabled=1
kill
Private=0
Enabled=1
shutup
Private=0
Enabled=1
spec
Private=0
Enabled=1
specall
Private=0
Enabled=1
setship
Private=0
Enabled=1
setfreq
Private=0
Enabled=1
locate
Private=0
Enabled=1
watchgreen
Private=0
Enabled=1
listban
Private=0
Enabled=1
removeban
Private=0
Enabled=1
lag
Private=0
Enabled=1
greeninfo
Private=0
Enabled=1
flags
Private=0
Enabled=1
warn
Private=0
Enabled=1
warpto
Private=0
Enabled=1
relkills
Private=0
Enabled=1
tinfo
Private=0
Enabled=1
watchdamage
Private=0
Enabled=1
sysop
Private=1
Enabled=1
smoderator
Private=1
Enabled=1
getfile
Private=1
Enabled=1
putfile
Private=1
Enabled=1
thor
Private=1
Enabled=1
lowbandwidth
Private=1
Enabled=1
messagelogging
Private=1
Enabled=1
super
Private=1
Enabled=1
ufo
Private=1
Enabled=1
einfo
Private=1
Enabled=1
bandwidth
Private=1
Enabled=1
points
Private=1
Enabled=1
info
Private=1
Enabled=1
where
Private=1
Enabled=1
trace
Private=1
Enabled=1
moderator
Private=1
Enabled=1
[Prize]
//Prize Values Below
//Is this user class able to issue a negative prize (ie. *prize #-13)? (No[0], Yes[1])
AllowNegativePrize=1
//Can this user prize greens (ie. *prize 13 ups the bounty of the user by 13)? (No[0], Yes[1])
AllowBountyIncrease=1
//Can this user prize any of the following numbers? (No[0], Yes[1])
PRecharge1=1
PEnergy2=1
PRotation3=1
PStealth4=1
PCloak5=1
PXRadar6=1
PWarp7=1
PGuns8=1
PBombs9=1
PBouncingBullets10=1
PThruster11=1
PTopSpeed12=1
PFullCharge13=1
PEngineShutdown14=1
PMultifire15=1
PProximity16=1
PSuper17=1
PShields18=1
PShrapnel19=1
PAntiwarp20=1
PRepel21=1
PBurst22=1
PDecoy23=1
PThor24=1
PMultiprize25=1
PBrick26=1
PRocket27=1
PPortal28=1
[BanG]
//BanG Commands Below
//Just because all of them may be enabled, it doesn't mean the bot will be able to successfully execute all of
//them, as they can have limited BanG access
//If you don't have BanG access, then disable it below (Disabled[0], Enabled[1])
BangActive=1
//Bots BanG login password
BangLogin=password
//What command is used to login? Do not include the ? in front of the command (WRONG - ?blogin, RIGHT - blogin)
BangLoginblogin
//Refer to the Access Level Listings at http://www.shanky.com/server/commands.html
BangLevel=2
bversion
Enabled=1
notify
Enabled=1
bantext
Enabled=1
ban
Enabled=1
listban
Enabled=1
bantonet
Enabled=1
bantolocal
Enabled=1
changeban
Enabled=1
liftban
Enabled=1
bancomment
Enabled=1
banfree
Enabled=1
listbanfree
Enabled=1
removebanfree
Enabled=1
addop
Enabled=1
listop
Enabled=1
removeop
Enabled=1
extchat
Enabled=1
listzone
Enabled=1
[BangPrefixes]
//BanG Prefixes
//FORMAT - BPrefixCommandA=Z
// PrefixAB=Y
// LevelAB=X
//A should be a number from 0 to 9
//Z is the command/prefix itself
//B starts at 0 and is increased each time by 1
//X should be one of the Access Level numbers in MineGoBOOM's listing
//Do not add the ? before command
BPrefixCommand0=ban
//Do not add the -, #, or any other symbols besides what the main prefix is
Prefix00=*
Level00=1
Prefix01=!
Level01=2
Prefix02=e
Level02=4
Prefix03=a
Level03=4
Prefix04=i
Level04=3
Prefix05=m
Level05=1
Prefix06=n
Level06=3
Prefix07=c
Level07=4
Prefix08=k
Level08=4
Prefix09=z
Level09=0
BPrefixCommand1=bantolocal
Prefix10=*
Level10=4
Prefix11=d
Level11=4 |
What I Want
I want the source code (you can make it open source if you want actually) and the plugin (I encourage having this published instead of directly handling it to me). I would like this plugin atleast made available to everyone.
What's my Reward & Prize?
Well, I don't really have one except giving you the Basic plan off of http://www.hlrse.net/plans for free. You should feel proud you made this accomplishment, and infact would be in charge of maintaining this as a project or whatever. Build onto the idea.
Last edited by L.C. on Mon Dec 04, 2006 10:33 am, edited 1 time in total |
|
Back to top |
|
 |
Bak ?ls -s 0 in

Age:26 Gender: Joined: Jun 11 2004 Posts: 1826 Location: USA Offline
|
|
Back to top |
|
 |
Muskrat Server Help Squatter

Age:38 Joined: Aug 24 2004 Posts: 829 Location: Swamp Offline
|
Posted: Tue Nov 21, 2006 7:57 pm Post subject: |
 |
|
|
|
If you want what it sounds like you want... how would a MervBot control server commands? |
|
Back to top |
|
 |
L.C. Server Help Squatter

Age:34 Gender: Joined: Jan 03 2003 Posts: 574 Location: Missouri, US Offline
|
Posted: Tue Nov 21, 2006 8:10 pm Post subject: |
 |
|
|
|
Quote: | If you want what it sounds like you want... how would a MervBot control server commands? | I never said it would. Messages like "Ban lifted/removed." or something around the lines of "You cannot enter due to high ploss/C2S/S2C of 35.2%" would be copied and pasted over to whoever ordered the command through PM.
For example, if I use the BanG command to ban someone and soon realize it was a wrongful ban and lift the ban, normally I would get a message in green saying "Ban lifted (or removed)." The bot would private message me that back if the bot got that message when I lift the ban through the bot. The bot is the messenger in this case.
This is almost like doing "!say *scorereset" to the bot; the difference is that its specialized in this field, supports a powerclass system, regulates power and classes. Behind that it acts as a messenger; whatever messages you'd get in green from the server normally is what the bot should/will get - and the bot will "copy and paste" those into a PM to you in return. |
|
Back to top |
|
 |
D1st0rt Miss Directed Wannabe

Age:37 Gender: Joined: Aug 31 2003 Posts: 2247 Location: Blacksburg, VA Offline
|
Posted: Tue Nov 21, 2006 10:20 pm Post subject: |
 |
|
|
|
Bak wrote: | sounds like asss  |
What he said, You REALLY should consider using asss. _________________
 |
|
Back to top |
|
 |
Maverick

Age:40 Gender: Joined: Feb 26 2005 Posts: 1521 Location: The Netherlands Offline
|
Posted: Wed Nov 22, 2006 2:58 am Post subject: |
 |
|
|
|
L.C., what you mean is a bot that does all the commands to the server and not the players themselves anymore (only through the bot)?
Are you going to put a bot into each public- and subarena then? There also needs to be about just as much bots as there are staffers.
Really, use asss. _________________
|
|
Back to top |
|
 |
Smong Server Help Squatter

Joined: 1043048991 Posts: 0x91E Offline
|
Posted: Wed Nov 22, 2006 4:55 am Post subject: |
 |
|
|
|
Maverick wrote: | There also needs to be about just as much bots as there are staffers. | Yeah because if you have two staffers using the bot at the same time there will be race conditions over forwarding the reply text.
Also your config is incorrect, or at least will require a custom reader, you have loads of Enabled keys in each section, it should be like:
statPrivate=0
statEnabled=1
Also using player name as a parameter isn't a good idea, players can create specially formatted names to mess up the bot. _________________ ss news  |
|
Back to top |
|
 |
L.C. Server Help Squatter

Age:34 Gender: Joined: Jan 03 2003 Posts: 574 Location: Missouri, US Offline
|
Posted: Wed Nov 22, 2006 6:50 am Post subject: |
 |
|
|
|
Quote: | Also your config is incorrect, or at least will require a custom reader, you have loads of Enabled keys in each section, it should be like:
statPrivate=0
statEnabled=1 | I have no idea where 'stat' came from; just to give you a clue of how much I know.
I can only assume those are built in variables/whatever, I don't know. I completely made up the whole thing from scratch. I did have a thought in mind though that this isn't exactly the job for a bot, but AS3 scripts. For non-AS3 zones, mainly in public arenas, this might be ok, though pointed out there might be latency/problems overall with 'race conditions over forwarding reply text.'
:S |
|
Back to top |
|
 |
Cyan~Fire I'll count you!

Age:37 Gender: Joined: Jul 14 2003 Posts: 4608 Location: A Dream Offline
|
Posted: Wed Nov 22, 2006 6:21 pm Post subject: |
 |
|
|
|
Non-AS3 zones should be non-existent. ASSS can work just like subgame, the only reason not to switch is apathy (or, as previously discussed, stupidity, but stupid people shouldn't run servers anyway). _________________ This help is informational only. No representation is made or warranty given as to its content. User assumes all risk of use. Cyan~Fire assumes no responsibility for any loss or delay resulting from such use.
Wise men STILL seek Him. |
|
Back to top |
|
 |
BDwinsAlt Agurus's Posse

Age:34 Gender: Joined: Jun 16 2003 Posts: 1145 Location: Alabama Offline
|
Posted: Wed Nov 22, 2006 8:30 pm Post subject: |
 |
|
|
|
I think zones like MG don't need to switch, they don't need anything to change. They won't switch. Other zones though, they use all of these weird bots, they should probably use AS3. I love as3. From now on I won't use anything but AS3 once Halo switches over. |
|
Back to top |
|
 |
Cyan~Fire I'll count you!

Age:37 Gender: Joined: Jul 14 2003 Posts: 4608 Location: A Dream Offline
|
Posted: Thu Nov 23, 2006 5:40 pm Post subject: |
 |
|
|
|
No, nobody "needs" to switch, but they should. It's just the stupid attitude that you shouldn't "fix what ain't broke." MG would naturally benefit from moving to ASSS after a slightly troublesome test period (which could be as short as a day if they were smart about it). |
|
Back to top |
|
 |
|
|
You can post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum
|
Software by php BB © php BB Group Server Load: 384 page(s) served in previous 5 minutes.
|