( search forums )
MSAT goes open-source
Soldat Forums - Soldat Fans - Fan Apps
June 25, 2005, 3:25 pm
MSAT is a java-based server admin program designed for people who have to admin multiple servers (at iinet we have 6). Its main features
are lots of cruel and unusual ways to ban people, and ways to give players limited access to the server(s).
To run it you need to java 2 runtime, get it from [URL]
The link is [URL]. You are advised to read the instructions below if you are really interested in it.

You can see all the servers at once(duh).
The program provideds for communication between admins over the dedicated server(Only possible with the right server-side programs).
Allows you to write your own custom commands via scripting.
Allows you to join servers with the /join command or ctrl+j, if you have given the program a path to soldat.exe.(See instructions)
Shows player speech in the colour of the players team.

Limited Access
You have two options of giving players limited admin control over servers. You can either allow the players to execute commands while playing, by typing in chat the prefix "MSAT: "(note the trailing space) followed by the command you wish to execute. For example, to kill player number 2, you would type in to chat "MSAT: /kill 2".

You can also give players limited access to the servers by having them connect to the servers through your computer. What they see is effectively the same thing as you would get by connecting directly to the server via Soldat Admin 1.2 or any similar program. Actually, this feature is probably redundant now, but who knows, it could come in handy eventually for large scripts. To access this feature, a player connects to the computer that is running MSAT with any ordinary client program (Soldat Admin 1.2, SARJ, etc). Currently the port remote users have to connect to is 23001, and you cant change this yet.

You control access through both these methods by specifying the commands and scripts they can execute, and on which servers they can do this. Access to these features is restricted by a global password, as well as a name and password, in the case of the remote login feature. In the case of the in-game access, you specify a list of names and ips that are allowed (Note: you CAN use regular expressions here if you chose to. This would allow you to create public scripts, accessible to all. For more information on the regular expression system used, see [URL]).

One thing that you might like to know is that you can enter "CURRENTIP" (case-sensitive) as an ip for in-game access, and this will match the ip of the current machine(Or will try to - might not work well with routers etc). Then if you set the names paramater to \w+(one or more characters) you have given yourself access regardless of your name.

You can ban names an ips, with the choice of banning names: containing, starting with, ending with or equalling, a certain value. For example, you can ban names starting with "Major", names containing something nasty, (Although I dont really like that sort of censorship). You can also ban specific IPs or subnets.

There has also recently been a chat-filter added to MSAT. You enter the text to be banned in the list provided. If the regular expression box is un-checked, then any text that contains any of the given lines triggers the ban. If the regular-expression box is checked, then the entire line must match one of the regular expression patterns given.

Most options are available from inside the program. The main thing you need to know is that you can right-click on the empty area you see when you first run the program. This gives you the option to add/remove servers, among other things. You can enter a name(e.g. games1.iinet.net.au) or an ip (e.g. Thats all most people will need to know.

Other options in settings.cfg:
If you are one of several admins on a server you might want to enter a name where it says "INSERT NAME HERE" - This is the name that will come up when you talk to other admins, provided you have the right server configuration(I don't know what that is by the way).
Also you can enter the path to your soldat.exe in the provided space. This allows you to quickly join servers.

AUTO REMOTE ACCESS determines whether the remote access feature is enabled on startup of program. This should be either 0 or 1.

REFRESH_TIME is the frequency with which refresh packets are sent, in seconds. There is a minimum, 10 i think.

PROGRAM_PASSWORD is the password users have to initially enter for the remote-login to the program.

COMMANDS is a list of all the soldat commands....PLEASE tell me if this list is incomplete, that wouldn't be good.

All script files must end in .bsh and be located in the "scripts" subfolder.
Included Scripts:
/sinbin - Allows you to enter a name and ip, which be regular expressions, and have the /kill command set to players matching the given name/ip at a given interval.
/listsinbins - Lists the current sinbin commands. To delete a listing highlight it and press delete.
/kickall - Kicks all players.
/kick - Lets you kick multiple player-ids, seperated by a ','.
/kickexcept - Kicks all the players on the current server except for those with the given playerID's.
/killall - self explanatory.
/balanceteams - Automatically balances the teams on ctf/inf servers.
/clear - clear all data from a script name space, you dont need this one.
/join - Join server
/autosay - Lets you specify some text to be sent to the given servers, at the given interval.
/listautosays - Shows you the current auto-say commands. Delete a certain autosay by highlighting it and pressing delete.
/sendall - Send the given command to all servers.
/sayall - execute a /say command with the given text on all servers.
/say - Wraps long lines.

In the pipeline:
Actual window for the settings.cfg file.
Changing the port remote users connect to.

If you find any bugs, please post them here so i can get them fixed. To get more detailed error messages please run it by executing: java -jar secondAdmin.jar from the directory in which the program is located, in a command prompt. This will allow you to see any internal error messages created by the program. Just executing it by double-clicking on the .jar file hides these messages.


Deleted User
June 25, 2005, 3:41 pm
wow.. that looks great! i'm gonna try it out.

Deleted User
June 25, 2005, 3:53 pm
thats alot of windows open... perhaps make it all into 1 window with more options?

June 25, 2005, 3:58 pm
........there are only two important ones. The others are option windows.........

June 25, 2005, 5:38 pm
Looks like a fine job, Only need something like that which can be ran on the background of my linux box and is controllable by a web page :)

Deleted User
June 25, 2005, 8:50 pm
Wow, you can allow people access to only some commands? That's brilliant, good job :)

quote:Originally posted by dabookshahBTW I am still searching for a name.......so if anyone thinks of anything good, post it here. Calling it DaBookshahs admin program sounds a bit gay.....So yeah the best name will probably be adopted.

Hmm, I can't think of a name for you. I will add this program to the fan apps list once you have a name.

June 25, 2005, 8:56 pm
Ok, a few things i miss:
-No server setting info (time limit, team scores, etc.)
-Internal chat doesn't work. (i tried to make a similar thing, but also failed. i guess others can't read data out of the server console unless the server sends it)
-Try pressing the Minimize. I couldn't make it come back, cos it didn't put an icon to tray.

good luck fixing those :)

Deleted User
June 26, 2005, 2:23 am

good work

June 26, 2005, 4:39 am
@ KeFear yes I am going to put the Map Name and other stuff up soon.....its there, just not shown, which is pretty useless.

Hmm dont know about the chat......just changed it so it might be broken, yeah. Ill fix it soon...EDIT: Just checked...seems to be working fine.....so i dont know what the problems is.

Minimisation code.....dont know, it works for me. You're using windows right? the minimisation code is windows-specific.

EnEsCe - Whatever man, just cause java is hell easy.......

If anyone can suggest some minimisation code for linux, I would be happy to put it in.

June 26, 2005, 8:20 am
Nezzar has admin to iinet...aww... ;(

June 26, 2005, 8:40 am
Welll.. how should the chat work? chat with other server admnins who connect to the game server or between those who connects to your tool?

I don't like java, as it takes up much more resources... it uses at least 3 times more memory then arsse - which is not optimized itself yet.

June 26, 2005, 9:10 am
Mickle - They're just demo pictures.....although yeah, anyone can now admin iinet to a limited extent.

KeFear, the 3 radio buttons are probably mislabeled - 'Send To Admin' sends data to a user who is connected remotely to your computer. 'Chat' sends data to the server, which is then picked up by other people using the same program. I will re-label them. I don't know what is wrong with the chat. Frankly, seeing as java is meant to be platform-independent, and the server(s) I am connecting to basically the same as the ones you are connecting to, it should work identically for you as it does for me. And it works for me.

Deleted User
June 26, 2005, 9:14 am
SSBot ripoff >:|

June 26, 2005, 9:35 am
I prefer to think of it as an SSBot replacement...........

June 26, 2005, 3:09 pm
Well, i tried everything and the chat thing wouldn't work. I'm looking forward to try it out with you, i could host a server for that purpose.

June 27, 2005, 6:58 am
Check the link again people......i made a bit of an update.

Yeah, its running pretty in-efficiently at the moment, but I HOPE i can do something about that eventually.

I will take you up on that offer KeFear.

EDIT: Apologies to Rusty for blantantly ripping off some of his code.....the refresh packet stuff, etc.....credit has to go to him for that stuff. Hope he doesnt mind........

June 30, 2005, 3:17 pm
how do i get into iinet 1 it sez
IOException while recieving data from Server 1.

July 1, 2005, 3:05 am
Ha-Ha......good one........

EDIT: I will be putting up a version with more improvements soon. Things which I could add:

-Scripting support(blatantly ripped off from rustys SARJ).
-Switch teams at map-change option.
-Specify passwords for each server.
-The whole thing is just more effective programming now(I hope).
-Window to change the program options(which were previously in a text file. Dont expect this one too soon......).
-A Window to allow you to add/remove servers while it is running. This will probably be the last thing i do before i stop working on this bloody program.

COME ON PEOPLE, I NEED A NAME. (I dont trust myself to come up with one, given that KeFear came up with ARSE......)

Deleted User
July 1, 2005, 6:55 pm
Multi Soldat Server Manager?

July 1, 2005, 6:59 pm
HEy, that's not Arse, but ARSSE, and it's for purpose :] i didn't want a name that tells nothing..

July 2, 2005, 2:49 am
I think I will call it.......Multiple Server Admin Tool? (Cause i like the sound of MSAT, hehe) oh, an apologies to KeFear.....ARSSE is a SLIGHT improvement on ARSE......sorta.

Ok Stalky, write me up in the list under Multiple Server Admin Tool. At least until someone comes up with something better.....

July 8, 2005, 3:35 pm
AHEM STALKY!!!!!!!!!!
write me up in the list damnit! As MSAT!

I will put up a new version tomorrow, with full scripting support. Full, as in the scripting library I downloaded(called 'BeanShell') allows you to program in proper java - File Access, Internet Access, whatever you want, just about anything that you can do in java can be done in scripting. This is used to let you write custom commands - for example, if you type /kickall, it first of all looks in ./scripts for a file named kickall.bsh. Only if this file is not found will the Command be sent to the server as it is. Doing it this way allows you to overload already existing commands - E.G. specifying multiple PlayerID's for /kick (/kick 1,2,3...).

At the moment I have written a balanceteams.bsh, kickall.bsh, sayall.bsh and sendall.bsh. This means you can type the commands /sayall, /kickall, etc.

This will be up on the same link, tomorrow.

July 8, 2005, 3:43 pm
geez, you people all think of names that do nothing but describe the functionality of the program. think of something more like The Good Admin or The Real Admin or something that is actually a name rather than a descriptive "Multiple Admin Tool" or some thing relatively lame like that

July 8, 2005, 3:45 pm
Um.......damn......why didnt I think of that. I asked for suggestions, BUT NOOOO, no-one answered. So you get crappy names. Oh well. Personally I like descriptive.

July 8, 2005, 3:55 pm
meh, this is the first time i've seen this thread in my active topics, so I never got the chance to suggest beforw

July 8, 2005, 3:58 pm
'The Good Admin' sounds a bit gay to me. But you sound like a creative person, if you come up with something anytime soon, let me know, it seems that i still dont REALLY have a name that I like. But MSAT is ok for now.

Deleted User
July 8, 2005, 7:06 pm
quote:Originally posted by dabookshahAHEM STALKY!!!!!!!!!!
write me up in the list damnit! As MSAT!


July 8, 2005, 8:29 pm
"The Good Admin" is maybe a bit gay, but as far as creativity goes, it blows all the other names out of the water. If I think of anything good, I'll let you know

July 9, 2005, 5:26 am
Ok. New version with the scripting is up. Thanks Stalky.

i am ahab
July 9, 2005, 12:36 pm
gj dudes...
but i still sit firmly in team cpp im afriad ;P

Deleted User
July 10, 2005, 10:59 am
looks good

Deleted User
July 10, 2005, 2:24 pm
how abot x-sat for a name?

i am ahab
July 10, 2005, 11:28 pm
ahem. name suggestions thus follow:
the fluffinator

more to follow when i can be arsed :)

July 14, 2005, 3:25 pm
"Godmin" ;)

Hope to see some better gui.

July 28, 2005, 3:39 am
OK, new version is up at [URL], and its a substantial improvement i think. It adds the following features:

-The ability to execute commands from in-game. You can give people access to all the standard commands, as well as the commands 'ipban', 'nameban' and 'pingban'. These commands need to be followed by two numbers: Firstly, the number of the player, and secondly the length of the ban in minutes. enter -1 for permenant. the command 'hackerban' only takes the player number after it, and is always permenant. You execute ingame commands by entering "MSAT: "(with the space afterwards) followed by the command. At the moment, the permissions for people to do this are kept in a file inGameUsers.cfg. This is a bit sloppy, i will fix it later. Anyway, you should find out enough from the included inGameUsers.cfg file.

-You can now enable/disable bans and remote users.
-Moved all the buttons to a menu, and added shortcut keys.
-there are now scripts for: /kick, /say, /kickall, /kickexcept, /balanceteams, /sendall, /sayall, /autosay and /listautosays.
-Added the escape command "//" which lets things be sent direct to the server.

The image which I am using for all the windows in the program is courtesy of Australian player 'George Bush', thanks mate.

Thats all for now.

Deleted User
August 11, 2005, 3:25 am
omg im in the screenshot... *wawes*

the new version is sw33t!

August 11, 2005, 11:21 am
Uhm.. it's not found :S

August 11, 2005, 1:30 pm
Fixed. Not everything is working at the moment - I'm still trying to make that 'connected' checkbox work on the pop-up menu for the tabbed pane. But appart from that its good.

Feel free to criticise my choice of colours, i think they're a bit bright.

August 13, 2005, 9:24 pm
Uhm, what has actually changed? Is there a changeslog available somewhere? it seems to me a lot of things don't work yet :S

August 15, 2005, 3:08 pm
To my total of 0 users: There will be an update soon, blah blah, who cares. I do this in the hope some-one might use it, not for my entertainment.
The whole point of this stupid topic is so I can get bug-reports/suggestions for improvements. Saying 'I haven't tried it but its sh*t' is not a suggestion.

Excuse me for having a rant........


Will have added:
-Execute scripts in-game.
-Anyone who would have been auto-kicked by a disabled ban had it been active is highlighted in the player-list. Useful for keeping track of n00bs who need to be watched.
-Colours for chat.
-1.3 Compatible.
-/kill command on the menu.
-Can connect/disconnect Servers, and add/remove/edit them too.
-Program remembers the password of the server.
-If on windows XP, the program takes on your current theme.

August 15, 2005, 3:48 pm
What can i say? Nice... But hey. are you sure the popup menu works on tabs? I couldn't add, remove, connect, rename, or do anything with it.. :\ It pops up, just does nothing.

August 16, 2005, 3:10 am
It is not up yet, check in a few hours......

August 16, 2005, 7:17 am
Delayed due to some sort of stupid thread issue.

August 16, 2005, 8:09 am
awsome job dabook, like the new release. Still the most reliable client for a large number of servers.

August 16, 2005, 8:38 am
Uh.....thanks bob, although its kind of unneccessary since none of us actually use the new stuff im putting in now. Anyway............I put up a new version. There is still one bug I can't seem to get ironed out to do with removing a server if its the only one there, but that seems to be a problem in one of the java libraries, i'll see if theres some sort of fix. Anyway, new version has all the promised new features, etc.

August 16, 2005, 10:47 am
Uhm, yeah, nice job. I have some bugs with it.
-The one you mentioned, i can close all tabs.
-If i add a new server tab with the popup menu, it only accepts IPs, but most of the servers i admin i want to use hostnames, as i don't really know their ip, and i don't want to remember them. (this was one of the reasons i started making ARSSE, as SARJ couldn't handle hostnames)
-If i press Join in the menu, it closes firefox (not everytime, but almost..)

I think you could remove the XP skin, just leave the original java thing, as it looked better i think.

August 16, 2005, 12:19 pm
HAHA, lol, that bug with firefox cracks me up. It was my first ever try with Native Code / Windows API. OK I shall take a lookie at it. And Add an option to use the java skin.

October 1, 2005, 8:50 am
This program is still not dead. There is a new version.

-Added new scripts /sinbin and /listsinbins
-Added ability to execute commands/scripts from in-game
-Improved the interface
-Improved all the scripts
-Fixed bug removing last server
-Removed the minimise menu item. the program now minimises to the system tray instead of the taskbar.
-Can now enter host names instead of ips

Known Bugs:
Doesn't seem to resize quite right when maximising from the system tray. Problem with remote users interface.

I'll probably soon be adding an option to auto-ban people based on what they say, given this new hacking package.

December 2, 2005, 5:09 am
I've finally finished with this program - It's pretty good, but no one [CENSORED]ing uses it, bloody lack of interest on these forums(The current number of users of this program is probably 1 - Myself). So i'm releasing the source, in the hope that it wont go to waste. Latest version adds a chat-filter, and the option to create your own ban classes. There is also the option to create publicly accessible scripts. Distribution version: [URL]
and the source: [URL]
Theres quite a bit of work in this, so if anyone manages to use it, good luck to you, i hope you find some users. On the other hand, the code has very poor(non-existent) documentation.

Deleted User
December 12, 2005, 9:12 am
Good job!

January 9, 2006, 9:55 pm
......no takers for the code?

Going once.......going twice.....

Mr Pink
March 16, 2006, 12:15 am
Cheers for the great app dabookshah,

I have been unable to get the limited admin access working in game using the "MSAT: /" command. Would you (or anyone else) be able to give a step by step process as if you where setting this up for another player?

Atm I am entering the player name, ip, password, highlighting the commands and servers they can use and then hiting save. Getting the player to then try commands i have given them access to, of the sort "MSAT: /kill 2", generates no response though.

The player doesnt have to login somehow to use the commands in game do they?

Any help much appreciated.