Jump to content
fred41

Arma Server Monitor (very small, but useful)

Recommended Posts

Still reading out as full when sending PMs.

Share this post


Link to post
Share on other sites

... didn't realize there is an overall limit of 300 messages, should work now :)

---------- Post added at 17:01 ---------- Previous post was at 16:41 ----------

UPDATE:

- for users with more then 4 instances (up to 16) a new commandline param, -o is introduced with this update

- you can run upto 4 ASMs in server mode on same system, monitoring upto 4 arma server instances each, using different -o params

(the param -o selects one of 4 instance blocks)

Example for monitoring instance 5-8, use -o1 for ASM server (and the same for ASM client for remote monitoring)

(UDP port numbers are calculated automatical based on your selected port settings)

Share this post


Link to post
Share on other sites

Got this working on A2 with Fred's help, thanks again.

So below are a few quick changes to get this running for A2:

Firstly you need to change 1 line in the fn_ASM.fsm itself, where xxx is you need place the profile name that your server uses, well technically you can put anything here... so go wild.

"_output = ""ASMdll"" callExtension format [""9:%1"", 'xxx'];" \n

Secondly you need to take a copy of the msvcr100.dll from your Arma 3 folder and place it in the OA directory.

Obviously you still need to follow the original instructions for getting this setup, these are just additional steps for A2 use.

Edited by Cyruz

Share this post


Link to post
Share on other sites

@Cyruz, thanks for sharing your experience.

Share this post


Link to post
Share on other sites

UPDATE/FIX:

I found an old debug line in ASMdll.dll, that could cause performance problems, while running many instances on same system, together with very high player numbers (only with enabled API monitoring, thx dwarden for report).

Only the ASMdll.dll have to be replaced for this update.

Greets,

Fred41

Edited by Fred41

Share this post


Link to post
Share on other sites

UPDATE:

Since ASM supports upto 16 instances per system now, it is not optimal that 'slots' are still selected per first free slot first.

To control which slot is prefered by an specific instance, you can now prefix the profilename with a number in range 0..15.

example to select slot number 12 (zero based):

-name=12MyServerWhatever

In ASM.ini, a new param enableProfilePrefixSlotSelection=0/1, can be used to switch this new slot selection behavoir off/on (default 1/on).

Share this post


Link to post
Share on other sites

latest server .dll and latest .exe and yet I still have problems to make e.g. -name=8 param to work ...:(

Share this post


Link to post
Share on other sites
latest server .dll and latest .exe and yet I still have problems to make e.g. -name=8 param to work ...:(

... this should select the 9th instance slot, so you have to use -o2 in ASM server/client config to display this slot. Did you?

Share this post


Link to post
Share on other sites

I having issues installing the tool. Are you meant to place the entire folder into the root folder?

Thanks

Share this post


Link to post
Share on other sites
I having issues installing the tool. Are you meant to place the entire folder into the root folder?

Thanks

Yes, for easiest installation of all needed files, the whole content of archive asm.zip (including subfolders) have to be extracted to a3root folder.

Share this post


Link to post
Share on other sites

Will this work on linux with some workaround ( due to .dll and don't want to use wine ) ?

Share this post


Link to post
Share on other sites

... its windows only currently, but since linux supports callextension now too, it would be possible to use the same mechanics for a linux port ...

So, let us see if one of the linux pro's here will use this chance ;)

Share this post


Link to post
Share on other sites

... no news ...

Edited by Fred41

Share this post


Link to post
Share on other sites
... no news ...

My idea was to run asm mod and run the exe on my pc, seems noone tried this yes :-)

Share this post


Link to post
Share on other sites
My idea was to run asm mod and run the exe on my pc, seems noone tried this yes :-)

... nice idea, but ...

ArmaServerMonitor.exe and ASMdll.dll are both windows binaries and therefore will not run on linux :(

Share this post


Link to post
Share on other sites
... nice idea, but ...

ArmaServerMonitor.exe and ASMdll.dll are both windows binaries and therefore will not run on linux :(

Really bad news :(

Share this post


Link to post
Share on other sites
... nice idea, but ...

ArmaServerMonitor.exe and ASMdll.dll are both windows binaries and therefore will not run on linux :(

No, I would run armaservermonitor.exe on my pc ( windows ) remotely, the only problem is asmdll.dll that is on the dedi ( linux ), maybe there's some workaround for dll, don't know..

Share this post


Link to post
Share on other sites

Ramius, you do know that you need to run the exe on the server too?

Share this post


Link to post
Share on other sites
Ramius, you do know that you need to run the exe on the server too?

You missed some update :-)

Additional, it is possible to connect to Arma Server Monitor from remote via TCP.

To watch your server from a remote device, you need an ASM instance on that device too and to configure it per start params as client.

Default start params for ArmaServerMonitor.exe are: -server -n1 -h127.0.0.1 -p24000

This means, ASM starts as monitoring server and listens at TCP port 24000, max. allowed remote clients = 1.

Example for client configuration: ArmaServerMonitor.exe -client -h201.178.1.102 -p24000

ASM starts as client and tries periodical to connect/read to/from your ASM server at 201.178.1.102:24000.

If your server is firewall protected, you have to open the selected TCP port on server.

Share this post


Link to post
Share on other sites

Unless I'm mistaken you still need to run ASM on the server itself as it acts as a host for clients to connect to.

So the remote client connects to the server copy of ASM which itself polls data from the game.

Share this post


Link to post
Share on other sites

.exe still needs to be running on the server for the client to be able to connect to anything.

you need an ASM instance on that device too ...

I'm running it this way as we speak and I can confirm this :)

Share this post


Link to post
Share on other sites

I wasnt clear enough! If I run arma 3 server on Linux with wine ( so launching a win binary ) dll will work, if I run a Linux binary without wine I can launch asm.exe with wine ok but the dll? Isnt working because depends on arma binary

Share this post


Link to post
Share on other sites
I wasnt clear enough! If I run arma 3 server on Linux with wine ( so launching a win binary ) dll will work, if I run a Linux binary without wine I can launch asm.exe with wine ok but the dll? Isnt working because depends on arma binary

ASMdll.dll is a windows binary too and will not run on native linux. Your idea, to run arma native on linux and ASM emulated via wine, could probably work, if someone makes a native linux library that replaces ASMdll.dll.

Share this post


Link to post
Share on other sites

Edit: Just me being an idiot (somehow deleted/reverted the execFSM line from the init file on the server in arma 2). However I suppose its still worth mentioning that the server produces the following error from fn_ASM.fsm on missions start:

Error in expression < "ASMdll" callExtension format ["9:%1", profileName];call compile _output if >

Error position: <profileName];call compile _output;if >

Error Undefined variable in expression: profilename

Edited by Sari
Nothing to see here...

Share this post


Link to post
Share on other sites

@Sari, thanks for reporting this.

ASM is using 'profileName', a command not available in A2.

To allow A2 users to select a profilename too, i have updated ASM.

For A2, you can now bind a line like this:

if (isServer) then { ["MyProfileName"] execFSM  "fn_ASM.fsm" };

in your missions init.sqf.

Greets,

Fred41

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

×