Jump to content
Sign in to follow this  
CaptainMurphy

ArmA Server Manager (Web Service Based)

Recommended Posts

This is an Alpha of the program we will be release in the next month. Our team has several servers and we got tired of having to log in to each one to check its' status and set its config files, so we wrote an application that can control all of the variables we needed to get to without having to use a remote desktop manager or other outside programs.

This program works on a Windows machine that has IIS 5+ installed on it and .NET 3.5. Here is a quick list of features available for it:

* Start and Stop *ArmA server instance

* Modify Config file with specialized information for a particular server

* - Set multiple missions to use in Queue

* - Server Name

* - Port

* - Password

* - Admin Password

* - Max Players

* - Persistent

* - Mods

* - Message of the Day

* - Template File can be modified for each server to have special features not currently designated

* Upload Mission files to server

* Delete Mission files from server

* Ban, Unban users

* Manage an infinite number of servers

It runs as an application from your desktop and manages the server using Web Services for .NET applications. There are a few more features we are adding before we release it, mostly user management, which will allow you to define users and their administrative abilities (i.e. what they can do and not do on the server). Also event logging and ArmA server logging are next on the list. If anyone has an ideas for it, please let us know. You can visit the ArmA Manager Homepage for more information and updated screen shots.

editServers.jpg *config.jpg *

missions.jpg

status.jpgban.jpg

Updated:

The Beta is now available for download HERE.

Our TeamSpeak server will be available in the evenings (sometimes during the day) with people to help get it installed if you are having trouble.

IP: www.teamduck.com:8767

Pass: Quack

Edited by CaptainMurphy
New Updates to Program

Share this post


Link to post
Share on other sites

Mmmm. Will be watching this one closely.

How do you get around the file permissions lockout when deleting missions for a server that's running?

Share this post


Link to post
Share on other sites

Well there are certain things that you just cannot get around if you stick to the same structure that exists with the ArmA file system.

The one method I have toyed with is to have a second "Missions" folder that will allow you to do anything you want to in it while a server is running. When the server 'Start' routine runs, it will synchronize the arma missions diractory to the list of missions requested by the config file and only copy those set missions into the directory. Though that method then removes the ability to have an admin fire the '#missions' command and change to a mission that is not in the config file. As it stands the delete function is only available when the server is in a stopped state in order to make it a simpler task.

If there is anyone that knows of another way I am all ears!

We are in the process of generalizing all of the custom abilities (such as profile information) and readying it for a distribution release. Possibly a release in the next week in Alpha.

Share this post


Link to post
Share on other sites

I was wondering if you could crack that one, but if your tool allows a shutdown and a start, then that's as good as we can expect.

Can it do a restart of the server, ie a one click stop and start again instantly?

Share this post


Link to post
Share on other sites
I was wondering if you could crack that one, but if your tool allows a shutdown and a start, then that's as good as we can expect.

Can it do a restart of the server, ie a one click stop and start again instantly?

It monitors the systems running threads for the 'arma_server' process, so as soon as the list no longer contains it (i.e. it cleanly shut down) it becomes available to start right back up.

It utilizes a lot of background processing, so it doesn't 'lock up' like a lot of other programs appear to do while they are working their magic. The one limitation I have seen so far with the Upload Mission functions is simply the IIS timeout for the server (or application instance). Normally missions aren't very large so it isn't an issue with most standard IIS settings.

Most transactions to the server are very small and extremely fast. It is sooo much easier than having to RDP or VNC into a server to manage it.

I actually store the mission list and the config file in an XML file on the server itself, so if you have multiple people managing the server, they will all see the same settings for the config. The actual config file doesn't get written until the server begins the 'start' process. At that time it verifies all file locking is cleared, builds the configs, builds the command line arguments, and fires the executable.

Share this post


Link to post
Share on other sites

Excellent work guys - well done and much awaited! I'll be happy to test this on our server once its in beta.

The IIS component, is that FTP or HTTP that's timing out?

Share this post


Link to post
Share on other sites

Nice work yay.gif

We at WASP have been looking at a tool to do this for some time but non of us have the techy knowledge to write anything, and nothing has really existed.....until now.

As for some of the other posts from other squads, we'll be happy to beta test this for you guys and provide some feedback (if required). We have two servers running and anything that negates the need to VNC in will help us all smile_o.gif

WASP Squad home page

Share this post


Link to post
Share on other sites

The File Upload portion is done over HTTP. Every facet of the program works over the web service itself, so there is no need to expose any other layers of the server to the internet than is absolutely needed. It simply breaks the file into filestream segments then repeats a passing of the segment to the server until it completes and reassembles the filestream. Simply recunstructing a basic HTTP file passing.

We do need some input for the User Management feature if you guys would be so kind. Pretty much we want to create levels of users that have specific feature sets available to them. Any greater level of user would have new permissions as well as whatever permission set was available to the level under them. Here is the first iteration of what I am looking at:

Level 0 allows only view options

Level 1 allows server restart

Level 2 allows banning

Level 3 allows mission adding, config modifying

Level 4 allows user editing

Control would simply lockout certain tabs of the program to certain users.

Anyone have a good tutorial on getting the gamespy info from the server? As soon as we get the rest of the ToDo list caught up we want to add that to it as well.

Once the administration component is done we plan to build a server/client mod synchronization utility. Make it easier for clilents to stay up to date with your server addons.

Share this post


Link to post
Share on other sites

Sorry, maybe its right in front of me, but whats the download link?

I looked at your homepage, but couldn't see it there either.

Share this post


Link to post
Share on other sites

There is no download until we can get the user management feature added. We want to have at the least that feature and an activity log added to it before it is released (as well as a bug report tracker).

The sooner we can get the user manager hashed out, the sooner we will have it ready for distro. Until then we don't want to release it in a halfway state.

Share this post


Link to post
Share on other sites

Just a quick update:

The user management is coming along nicely. It is already able to create, edit, and delete the users, as well as set their passwords. The users file is fully encrypted and passwords are not able to be seen or modified by administrators. It is not quite a full non-reversible encryption, but there is no method for an administrator to see a users password in the program, only reset it.

User controls now can set and operate new panels in the program. So if the user is not at a specific level, they cannot control specific panels.

User login has also been moved to a 'per server' basis instead of the original version that locked out the program as a whole. There is a built in admin user account that will only allow access to the security panel (providing there is no current security set up). Once you create users, the built in admin account is no longer available. So the only method to 'reset' the accounts is to delete the users file in the arma directory.

The controls are written to verify a users abilities, now we have to add the check portion to every transation in order to keep someone from 'spoofing' the server with a transaction without a user and password combo.

Also most of the transactions to and from the server are being encrypted. This will keep someone from attempting to send information directly to the web service to get it to commit actions. That measure coupled with the user verification portion should elimiate anyone being able to spoof a transaction.

Unfortunately it is a tedious process adding the encryption, so it is taking longer than expected. The security, however, will be as airtight as we can make it.

On another note, we are now working with GameSpy to get a tracking system in place for server stats and player information. Possibly in the future we could implement a tracking system akin to the BF2 pages that show your users information in a statistical grid with pretty, pretty pictures.

If you would like to test it out on one of our Alpha servers and just get a feel for it, PM me and I will set you up with a login with our dormant server for you to look at and help us with some feedback.

Share this post


Link to post
Share on other sites

this project has my upmost attention at the moment ....very interesting and very usefull....keep up the good work Cpt.Murph notworthy.gif

Share this post


Link to post
Share on other sites
this project has my upmost attention at the moment ....very interesting and very usefull....keep up the good work Cpt.Murph  notworthy.gif

Me too-about time we had something like this! smile_o.gif

Share this post


Link to post
Share on other sites

The 'User Management' function is now working. We are tying it to the logging ability now. Here are the latest screens of the program.

Security.png

Security_edituser.pngSecurity_ResetPassword.png

Those that have asked for alpha logins will be getting them shortly. Sorry fo the delay, but the user controls were still being built and we had both alpha servers on an unstable version while working on it.

Share this post


Link to post
Share on other sites

The logging is now complete to the current build point. I have a couple of small tweaks to add in order to be able to read and parse out the logs on the server (and add that permission set to the permissions logic). After that we are packing the first build set (one for the server, one for the client).

SHould be ready in the next week for the first testers to install it on their own machines (I will need a couple of guinea pigs to test the install/upgrade workflow if anyone is interested).

Sorry for the delay, but my work has dropped a huge project on me and I am behind on it as it is. Staying up till midnight trying to complete this is getting a little tiring!

Share this post


Link to post
Share on other sites
The logging is now complete to the current build point. I have a couple of small tweaks to add in order to be able to read and parse out the logs on the server (and add that permission set to the permissions logic). After that we are packing the first build set (one for the server, one for the client).

SHould be ready in the next week for the first testers to install it on their own machines (I will need a couple of guinea pigs to test the install/upgrade workflow if anyone is interested).

Sorry for the delay, but my work has dropped a huge project on me and I am behind on it as it is. Staying up till midnight trying to complete this is getting a little tiring!

Oh very nice, i think our clan server admin was looking for something like this. Sounds extreamly interesting and we will be watching this thread! smile_o.gif great news.

Well done looks very neat tool too.

Share this post


Link to post
Share on other sites

Hey

If your looking for testers i'm more then willing to help test. The AEF run 2 servers at the moment, 1 public and one private, which has a different config on it every night of the week, and some of the guys are having a few issues with trying to change the configs and starting/stopping the server. Send either me or Wolffy.au (hes our head admin) a pm or something if you need help testing.

(AEF)Hicks

Share this post


Link to post
Share on other sites

I have finally gotten it to a release point. It has been a pain as some of the team has been unfortunately detained by their livelihoods, so it is better late than never!

It is not that simple to install for a layman, and I would appreciate someone making a decent install manual for it. Beware, you will have to be pretty familiar with Windows permissions and IIS.

I will be on our TeamSpeak server tonight if anyone is interested in giving it a shot on their server. Be warned, it is still in a low end Beta stage so things are not perfectly slick just yet. The functionality is all there though, just not as smooth as I like normally.

TS IP: www.teamduck.com:8767

TS Pass: Quack

You can get the program HERE

Edited by CaptainMurphy

Share this post


Link to post
Share on other sites

Nice work CaptainMurphy!

Hicks and myself tried to get it installed and running today.

Part of the server install guide should include that the Identity user be part of the IIS_WPG group.

There also seems to be a hardcoding of http://localhost:85/armawebservice in there somewhere, we couldn't work out where to change it. Hicks will PM you the other issues we had, but looking good so far.

Share this post


Link to post
Share on other sites

It appears the namespace for the program is set for that. That shouldn't cause an issue as far as I know. I will set it for a more unique namespace for the next one. I am still digging through to double check that nothing is hard coded with that name.

Good catch on the IIS_WPG group. I think I had that on the original documentation but didn't make it to the second set. We installed it using a different tool the second time and I think it carried our original permissons with it because we were on the same computer. I will add that to the docs now.

Thanks.

Edited by CaptainMurphy
spelling

Share this post


Link to post
Share on other sites

ok ive followed the read me file but when i go to install it i get a error of setup was interrupted before it could complete any ideas????

Share this post


Link to post
Share on other sites

I would need some more information before I would know where to start. First, are you installing the client or server portion? Second, what does the Event Viewer show for that attempt. It should have a much more detailed message for the error than the dialog window showed. Third, what OS and IIS are you installing it on? Fourth, what permissions and user are you running as.

Let me know some more info and we can troubleshoot the problem. Thanks!

Share this post


Link to post
Share on other sites
I would need some more information before I would know where to start. First, are you installing the client or server portion? Second, what does the Event Viewer show for that attempt. It should have a much more detailed message for the error than the dialog window showed. Third, what OS and IIS are you installing it on? Fourth, what permissions and user are you running as.

Let me know some more info and we can troubleshoot the problem. Thanks!

installing the server portion of the program as for the event viewer not to sure what you mean, the installation window just says installation interrupted before set-up is complete but when i go into the ISS window is show 3 sets of the ArmA manager web service running but not where i have told it to go to it puts in the DefaultAppPool not in the ArmA app pool that i made do you know how to get rid of the other ones showing so i can start again.

The Os we are running is windows server 2003 and ISS is the most upto date version of the ISS out for windows server 2003, permissions are set to full control and the user is ArmA

Event viewer say's

Event Type: Information

Event Source: MsiInstaller

Event Category: None

Event ID: 11708

Date: 25/05/2009

Time: 19:35:10

User: RACKSRV10\Administrator

Computer: RACKSRV10

Description:

Product: ArmA Manager Web Service -- Installation failed.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Data:

0000: 7b 39 35 33 46 34 39 38 {953F498

0008: 37 2d 45 32 31 36 2d 34 7-E216-4

0010: 32 46 38 2d 41 45 32 31 2F8-AE21

0018: 2d 37 38 34 33 41 33 42 -7843A3B

0020: 32 39 31 37 42 7d 2917B}

do i need to switch to this user or is it ok to still be in as Administrator to install the program

Edited by gruber
FOUND EVENT VIEWER

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×