How to Register with Steam Server Browser with 116523

staMerrill

New Member
This is a bit preemptive, but does anyone know how to get the server to register with the Steam server browser?

This is of course assuming you've updated to 116523, the newest beta available through Steam when subscribed to Arma 2 Operation Arrowhead Beta. This is important because in only 20 days now, GameSpy will be going offline, and no one will be able to find their server, or anyone else's, for that matter. There is already a thread on the BI forums explaining, briefly, what is needed to register, or even play with the Steam server browser, but at this point, is not much help, (I've made a post asking for help there, with none yet. It's on page 3).

Does anyone know how to set up Pwnoz0r's server to work with the Steam server browser?
 
I've been configuring my DayZ Mod private hive sandbox server to use the dev branch of ArmA 2 OA (a.k.a. the "new" beta).

ArmA 2 OA 1.63.124879
DayZ Mod 1.8.1
Pwnoz0r Server Pack 2.6.0 (DayZ 1.8.1)

I'm banging my head on the keyboard with this chestnut. My build works just fine with beta expansion 1.63.116523, appearing on LAN and reporting through GameSpy to appear on the internet. However, I can't get any joy with the Address:Steam tab of the server browser in that version, or with the Steam master server browser in the Steam client (which blows goats).


When I switch to ArmA 2 OA 1.63.124879, the new dev branch (instead of the "obsolete" beta expansion) my build appears on LAN, but not in the Adddress: Internet (Steam only) browser tab at all. Of course, GameSpy is removed from that version.


The snippets of fragmented information available on the various forums is not helping matters. it is small wonder that there are only 19 servers listed so far on Steam in game out of the thousands running. Neither does it help that the Steam server browser system leaves a lot to be desired.


One useful tool I did find, was this Steam API page that checks for server response, from which the plot thickens:


http://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr= [your server ip address here]

{ "response": { "success": true, "servers": [ { "addr": "xxx.xxx.xxx.xxx:27016", "gmsindex": 65534, "appid": 33930, "gamedir": "arma2arrowpc", "region": -1, "secure": false, "lan": false, "gameport": 2302, "specport": 0 } ] } }

My server is responding to the check, so why isn't it appearing in the Steam server list? Good fecking question. Inbound and outbound firewall ports are open, the server process has been tried on two separate machines, with and without Steam running, launched as a Steam app and as a Windows program.


All I know is that using the 116523 beta expansion my server build appears on the internet via GameSpy and using the 124879 dev branch it does not appear on the internet via Steam.

A week of trial-and-error from ineffective fragments of conflicting suggestions has worn my patience rather thin.
 
Ok, I have identified my problem ... and probably that of most baffled server admins / hosts.

ArmA 2 OA Server and Steam server communication cannot handle port management or NAT traversal at all. I had to manually open all the required inbound and outbound ports on my software and router firewalls, then fuss around with some router settings, to make sure it didn't try to interfere with the ports.

Not a pretty solution and unacceptable nowadays. This kind of kludge fell out of favour years ago, when the joys of uPnP port management were introduced. However, for better or worse, it has saved ArmA 2 and DayZ mod's multiplayer bacon.

I am using ArmA 2 OA server dev branch 1.63.124879, the new way of running beta on Steam, like ArmA 3 and DayZ SA. Opt in to the beta for A2OA itself using the Steam properties to access the newest version.

The "obsolete" beta expansion 1.63.116523 was the last version to be released under the A2OA beta product. I believe the principles are the same though.

The following ports need to be open in all firewalls, software and hardware, between your server process and the internet.

UDP 2300 - 2305
ArmA 2 OA standard server network communication ports are 2302, 2303 and 2305, but mine also opened 2304 and others have had 2301 active. I opened the range, it was more convenient.

UDP 8766
The default port used for communication with Steam. Needs to be unique for each server instance on a box.
Set this in server.cfg using the following: steamPort=8766

UDP 27016
The default Steam query port, used to query the server. Needs to be unique for each server instance on a box.
Set this in server.cfg using the following: steamQueryPort=27016


The really important point, which I am guessing that most people are falling over at, is that the ports have to be manually configured open, both inbound and outbound, all the way out from server to internet.

There are no big secrets to this, just a whole heap of frustration, which is making people run around in circles, froth at the mouth, then post all sorts of voodoo.

All I have done differently to the old GameSpy based server setup, is add the steam ports to my server.cfg and mess with my firewalls to get all those ports open.
 
You must have forwarded ports 2302 to 2305, 8766 and 27016 for TCP and UDP. The Steam Master OR the A2OA Beta doesn't support uPnP.

After the above, here's how to get the server on betas .116523 and above to register with the Steam Master.

Simply, in terms of a default Steam installed Arma 2 OA directory:
  • Go to Expansion\beta and locate steam_appid.txt
This is (as you can probably figure) where Steam remembers what the game actually is, since A2OA beta isn't really a game in and of itself, more of just a new version (and it is a new version...a beta.) Anyways, because using the Beta (116523 or newer) to register with the Steam Master Server, the server will register with all the other servers using the appid of Arma 2 OA Beta, which is 219540. So, we can change with which servers it registers with by changing this value.

To see the server when playing Arma 2: DayZ Mod
  • Change the value in steam_appid.txt to 224580
This will make the server register with all things 224580 instead of the aforementioned value for A2OA, because the server executable (thankfully, and crossing my fingers that they don't change this,) completely walks around Steam and finds everything in file.

With this in mind, we can also make the server register with a lot of other multiplayer games. For example, and simply for proof of concept, I tried registering with the DayZ SA servers, (appid 221100) and sure enough, the server appeared when filtering for it in DayZ SA. I wouldn't change this to anything other than DayZ Mod, but have at it, it should be fun.

Now for the unfortunate news.
  • The server CANNOT appear in the DayZ Mod and A2OA Beta Steam Server browsers at the same time.
This is because the Steam Server browsers filters games using the ...you guessed it...appid.

Significantly to my server, the server can only be registered for one game at a time. When GameSpy was used, DayZ Mod servers also appeared for people playing A2OA, and people playing A2OA with DayZ Mod selected under Expansions. However, if you change steam_appid.txt as above, only people who launch DayZ Mod through Steam by playing Arma 2: DayZ Mod will be able to see the server.

I should add that because I changed how our server is seen, that is, not an A2OA server, but now a DayZ Mod server on Steam, we've lost a good 2/3 of the regular clients we had, which was unfortunate because a lot of them I teamed with and made friends.

I hope that was concise...if you have questions, just leave them here.
 
As far as I am aware, only UDP ports are required. That may not be the case, but my server works without TCP ports open and the available information from BIS and ArmA users indicates that only UDP ports are used.

Also, 1.63.116523 was the last beta expansion mod version of A2OA that is a separate app in "\Expansion\beta\"

After that, A2OA 1.63.124779 and onwards use the "dev branch" beta method and change A2OA itself to a new .exe, not a separate expansion mod, just like DayZ SA and ArmA 3. That is why A2OA beta is labelled "(obsolete)" now.

I'm using my Steam A2OA client build to provide the server files for now, as it's only for personal testing and I haven't copied the files to a separate server folder yet.

I won't change the appid from 33930 for for now, as it will affect my A2OA client as well ... it makes servers disappear in the in-game browser. When I get round to putting a separate server build together I'll experiment with the appid some more.

From what I've experienced, though I have my server visible and working, I suspect the DayZ mod server population may become a lot smaller when GameSpy finally shuts down.
 
Changing the appid to anything other than 33930 does not appear to work with ArmA 2 OA Server 1.63 versions, it just makes the server disappear from the in-game server browser.
 
Yes, been there and just about every other discussion where ArmA 2 OA and Steam is mentioned.

Like almost all of them it is a topic full of problems, but no answers. I had a working server last week after messing around with port forwarding.

All I did was change from 1.63.124879 to 1.63.125402 and now there are a new set of badly documented changes to guess at.
 
Yeah we will have to wait for BIS to either make us able to choose patch version or until they fix the patch..
 
It turns out that I was in a tail chase the whole time ... with something nobody has mentioned yet, let alone confirmed and I have only even seen the question asked tonight.

it is either too complicated, or simply not possible, to run a dedicated server and a client from the same computer any more.

With the GameSpy server system running a server and client on the same machine wasn't an issue, but the Steam system does not appear to like running both.

As soon as I fired up one of my other machines with a server build on it, I could join it from another machine running the client. Fortunate that I have "other machines" to experiment with.

Really bloody annoying. Like many things throughout this whole pantomime. I find it increasingly difficult to show the gratitude I should for the otherwise great support that BIS provides.
 
I've switched back from 125548 beta to 125402 stable. My server and client happily co-exist on the same machine again.
 
Ok, I have identified my problem ... and probably that of most baffled server admins / hosts.

ArmA 2 OA Server and Steam server communication cannot handle port management or NAT traversal at all. I had to manually open all the required inbound and outbound ports on my software and router firewalls, then fuss around with some router settings, to make sure it didn't try to interfere with the ports.

Not a pretty solution and unacceptable nowadays. This kind of kludge fell out of favour years ago, when the joys of uPnP port management were introduced. However, for better or worse, it has saved ArmA 2 and DayZ mod's multiplayer bacon.

I am using ArmA 2 OA server dev branch 1.63.124879, the new way of running beta on Steam, like ArmA 3 and DayZ SA. Opt in to the beta for A2OA itself using the Steam properties to access the newest version.

The "obsolete" beta expansion 1.63.116523 was the last version to be released under the A2OA beta product. I believe the principles are the same though.

The following ports need to be open in all firewalls, software and hardware, between your server process and the internet.

UDP 2300 - 2305
ArmA 2 OA standard server network communication ports are 2302, 2303 and 2305, but mine also opened 2304 and others have had 2301 active. I opened the range, it was more convenient.

UDP 8766
The default port used for communication with Steam. Needs to be unique for each server instance on a box.
Set this in server.cfg using the following: steamPort=8766

UDP 27016
The default Steam query port, used to query the server. Needs to be unique for each server instance on a box.
Set this in server.cfg using the following: steamQueryPort=27016


The really important point, which I am guessing that most people are falling over at, is that the ports have to be manually configured open, both inbound and outbound, all the way out from server to internet.

There are no big secrets to this, just a whole heap of frustration, which is making people run around in circles, froth at the mouth, then post all sorts of voodoo.

All I have done differently to the old GameSpy based server setup, is add the steam ports to my server.cfg and mess with my firewalls to get all those ports open.


My question to all this is: Does every server in the world have to be on it's own unique Steam Query port? Or can I use 27016 for one server on my dedi box and say 27026 for another server? How do we know what port is "free" and not already in use by someone else to connect to Steam for server query??
 
My question to all this is: Does every server in the world have to be on it's own unique Steam Query port? Or can I use 27016 for one server on my dedi box and say 27026 for another server? How do we know what port is "free" and not already in use by someone else to connect to Steam for server query??

You can use whatever port you want to. It doesn't work like that.
 
Back
Top