Pillord 10 Posted January 16, 2012 Thx guys! It's my mistake with that bad english! I will try it and will post the result. But I think this is my solution too! Thx! Share this post Link to post Share on other sites
Pillord 10 Posted January 17, 2012 (edited) The Linux DS calculates the mod hash improperly, causing every Linux server to appear as yellow or maybe even red depending on the client configuration.We use a Python script to fix this and replace the broken hash with the proper one (requires python-nfqueue): #!/usr/bin/env python # ArmA 2: OA GameSpy query responder import sys import os import socket import nfqueue import string def handle_pkt(dummy, payload): pkt = payload.get_data() pkt_len = len(pkt) if pkt_len >= 29: data = string.replace( pkt[28:], 'da39a3ee5e6b4b0d3255bfef95601890afd80709', 'c7fec358b415d6c61ea65ff9e2b2dede8afdc1e6' ) pkt = "%s\x00\x00%s" % (pkt[:26], data) return payload.set_verdict_modified(nfqueue.NF_ACCEPT, pkt, pkt_len) payload.set_verdict(nfqueue.NF_ACCEPT) if __name__ == '__main__': if len(sys.argv) != 2: sys.exit("Usage: %s <queue number>" % (sys.argv[0])) try: queue_num = int(sys.argv[1]) except ValueError: sys.exit("Invalid queue number") q = nfqueue.queue() q.open() # Required for some reason q.unbind(socket.AF_INET) q.bind(socket.AF_INET) q.set_callback(handle_pkt) q.create_queue(queue_num) q.try_run() You will also need an iptables rule: iptables -A OUTPUT -m udp -p udp --sport 2302 -m string --string "da39a3ee5e6b4b0d3255bfef95601890afd80709" --algo bm --to 65535 -j NFQUEUE --queue-num 1 The mod hash starting with c7fec is the proper one as of 1.60 if you are running a vanilla OA or CO server. If you are running any mods, you will need to run a 1.60 Windows server with those mods to obtain the appropriate mod hash. Hi eddieck, Python V2.6 and V2.7 and nfqueue-bindings-python is installed. I can set the Iptables rule with Webmin. How do you named your script and into wich folder did you saved this script? I think Iptables start the NFQUEUE module and this module start your script and all scripts needs to be in one folder. I read to many english manuals and it will be nice to get a quickinfo. Some informations where to read more is nice too. Thx. New: I saved your script and start this script with this line: python2.6 ./checksumadjuster 1 Iptables -L shows Chain OUTPUT (policy ACCEPT) target prot opt source destination NFQUEUE udp -- anywhere anywhere udp spt:2020 STRING match "da39a3ee5e6b4b0d3255bfef95601890afd80709" ALGO name bm TO 65535 NFQUEUE num 1 I hope that's right. But the Server will be show red. Is there anybody who can check my hashs postet above? Thx.... Edited January 17, 2012 by Pillord News Share this post Link to post Share on other sites
eddieck 10 Posted January 17, 2012 How do you named your script and into wich folder did you saved this script? I have it named nfqueue-gamespy.py and in /opt/arma2oa/scripts, though that's not important (it can be named anything and placed anywhere). I think Iptables start the NFQUEUE module and this module start your script and all scripts needs to be in one folder. The iptables module does not start any external scripts. You'll need to arrange that yourself (I have an init script for it I can send you). I hope that's right. But the Server will be show red. Is there anybody who can check my hashs postet above? Are you running any mods client-side? If not, can you start it up and post the name of the server? Share this post Link to post Share on other sites
Pillord 10 Posted January 20, 2012 I was sick yesterday, so I do it today. I start it up and wait for your answer. Thx! Share this post Link to post Share on other sites
Pillord 10 Posted January 22, 2012 Thx for your help eddieck! The Linuxserver shows green now. This is needed for our events. The last issue was some old V1 keys in the mainfolder /keys . We created our own new keys for mods with old V1 keys. Now we can use verifySignatures = 2 in server.cfg with other mods. Share this post Link to post Share on other sites
Bebul 0 Posted February 1, 2012 (edited) The Linux DS calculates the mod hash improperly, causing every Linux server to appear as yellow or maybe even red depending on the client configuration. Hi, in order to find + understand + fix the never green linux servers we need to know the following: When some Win32 server works and is GREEN, are you sure the very same copy of its content on linux is not GREEN? I mean, is it really the same, with no BAF and PMC folders present on Win32 installation (because linux cannot work with BAF/PMC)? Edit: another question is: are such Linux servers yellow for all players regardless whether have BAF/PMC installed or not? Edited February 1, 2012 by Bebul Share this post Link to post Share on other sites
eddieck 10 Posted February 1, 2012 When some Win32 server works and is GREEN, are you sure the very same copy of its content on linux is not GREEN? I mean, is it really the same, with no BAF and PMC folders present on Win32 installation (because linux cannot work with BAF/PMC)? Yes. I did not have PMC, BAF or any other mods on both my Linux and Windows installations. Edit: another question is: are such Linux servers yellow for all players regardless whether have BAF/PMC installed or not? I pretty much immediately installed BAF and PMC when 1.60 came out (due to the signature check fixes), and the servers were still yellow. With 1.59, I did not have BAF or PMC installed and they were still yellow. Share this post Link to post Share on other sites
.kju 3244 Posted February 1, 2012 No server is to have PMC/BAF in their arma folder. So the question about Linux in the regards I find confusing. Share this post Link to post Share on other sites
HitmanFF 6 Posted February 1, 2012 No server is to have PMC/BAF in their arma folder. So the question about Linux in the regards I find confusing. As I understood it, the question is whether a player with BAF/PMC installed sees a yellow indicator for linux servers and a player without BAF/PMC installed sees a green indicator for linux servers. Share this post Link to post Share on other sites
.kju 3244 Posted February 1, 2012 Ok. You can easily test both cases if you own the DLC - just rename the folder to BAFz or anything you like. Share this post Link to post Share on other sites
HitmanFF 6 Posted February 2, 2012 Tested client without and with BAF/PMC installed (renamed the folders for the purpose), without and with addons on the client, without and with (identical) set of addons on the linux server and all combinations showed a yellow icon on the linux server. Share this post Link to post Share on other sites
Bebul 0 Posted February 28, 2012 (edited) Thank you for your research. I have believed hard it cannot work on Windows servers too but you were right. I have fixed it. Not sure how it would cooperate with "old" windows clients, but it could hopefully work. Tests are promissing. Edit: here you are ftp://downloads.bistudio.com/arma2.com/update/a2oa-server-1.60.89986.tar.bz2 Edited February 28, 2012 by Bebul Share this post Link to post Share on other sites
mleb-49 10 Posted August 20, 2014 Hi, in first I apologize, my english is not so good. :( Well, I have some trouble with the installation and the configuration of the server. It is running on an Ubuntu Server 14.04 amd64. When I write "./server" in the terminal (step #4 of the tutorial) I have the response : "None file of this type" (In french : "aucun fichier ou dossier de ce type"). Next, I don't understand what I have to do in step #6. And for the step #7, here are the configuration parameters between lines 12 & 18 : ARMA_DIR= CONFIG= PORT=2302 PIDFILE=${ARMA_DIR}/${PORT}.pid RUNFILE=${ARMA_DIR}/${PORT}.run LOGFILE=${ARMA_DIR}/log.${PORT}.txt SERVER=${ARMA_DIR}/server OTHERPARAMS=-cpucount=2 -pid=pidFile -port=2302 //Not sure What I have to edit/put in the parameters ? Thank you for your help. Share this post Link to post Share on other sites