Jump to content

poweruser

Member
  • Content Count

    248
  • Joined

  • Last visited

  • Medals

Posts posted by poweruser


  1. Revision of idea 1 from post #16:

    Having an extra program on each server that broadcasts to multiple master server is just terrible, the master servers can do that among themselves.

    The only thing that the game server admins have to do then, is to set one of the available master servers, which one that is doesn't matter.

    OFP_MultipleMS_Suggestion_RevisionB.png

    That requires a little addition to the heartbeat protocol. The game servers continue to send heartbeats as before:

    \heartbeat\[i]GAMESERVERQUERYPORT[/i]\gamename\opflashr\

    But the broadcasts from the master servers, must be different. Something like this:

    \heartbeatbroadcast\[i]GAMESERVERQUERYPORT[/i]\host\[i]GAMESERVERIP[/i]\gamename\opflashr\

    Only one broadcast per heartbeat and heartbeat-broadcasts are not rebroadcasted.


  2. How much bandwith would it require per x period of time?

    Almost nothing, compared to the traffic that OFPMonitor is already producing.

    In detail:

    For every game state change (and maybe a few more times in between), each game server sends a heartbeat:

    INCOMING

    \heartbeat\2303\gamename\opflashr\

    The master server sends back a status query then:

    OUTGOING

    \status\

    And the game server replies with a query answer that represents its current state:

    INCOMING

    \gamename\opflashr\gamever\1.96\groupid\261\hostname\[i]server_name[/i]\hostport\[i]2302[/i]\mapname\[i]island_name[/i]\gametype\[i]mission_name[/i]\numplayers\[i]0[/i]\maxplayers\[i]20[/i]\gamemode\openplaying\timeleft\[i]15[/i]\param1\0\param2\0\actver\196\reqver\196\mod\[i]RES[/i]\equalModRequired\0\password\0\gstate\[i]2[/i]\impl\sockets\platform\[i]win[/i]\final\\queryid\[i]2[/i].1

    Each of these messages are sent in plain text in a single udp packet.

    The client acquires the server list from the master server via a tcp connection. The outgoing amount of data depends on the number of listed server.

    But this event should not happen as frequent as with the ingame browser anymore (a new list is requested there, everytime you go to the browser or clicked Refresh).

    How much maintenance would it require per x period of time?

    That depends on what we decide to do. In case of my suggestion with the multiple master servers, every time a new one is set up, the list(s) of master servers needs to be updated. When one goes offline, its not really required as long as the software properly handles a not-responding master server. But cleaning out dead entries once in a while wouldn't hurt.

    Is it possible to have multiple urls/ftps hosting the same stuff (backups)?

    Yes, see post #21. but with downsides, see post #16. Or what "stuff" do you excactly mean?

    Will it come with unwanted security risks attached?

    The same risks that every server application comes with. Specifically the master server operates a UDP port (for heartbeats and status queries) and TCP one (for providing the server list to clients). The software must of course comply to the security standards and check/verify all incoming data before processing it and reject it, if it does not match the stipulated protocol. Ontop of that, the software should have a temporary ban system, that ignores sources that query the server list, or send heartbeats too frequently.


  3. Note: previous 2 posts were added while writing this one

    Ad 1. To learn a lession from GameSpy story I have been thinking about making a number of mirrors of our new community-based monitoring server. I think each organized clan, group or community would be able to host such a server. What for? I am afraid that leaving the responsibility of hosting the new monitoring server for just one person may be risky. It would be good to have some backup-based servers (in case of a failure of the main one).

    Hmm, two ideas:

    1) Having multiple master servers to avoid the "single point of failure" is possible too, but requires a bit of effort from everybody involved:

    OFP_MultipleMS_Suggestion.png

    The master server software could/should be able to store all server events in a specified database, so somebody could build a website on top of that.

    2) The domain of the master server that is chosen, should be easily reconfigurable. Meaning, when the current MS ceases operation, it gives up the domain and somebody else can pick it up to continue the service. That would be most convenient for the server operators


  4. Hi there,

    Putting the software of the master server of our own together isn't the difficulty. qbt is already on it, and out of curiosity I started a little project with that goal as well.

    But a few additional things need to be done as well:

    - Someone credible and longtime available needs to be found, who wants to host this. And the domain of this service needs to be decided.

    - The game server operators need to be informed, that they should change the "reportingIP" setting in the servers config to the new domain, if they want to take part in this and be found in the future.

    Side note:

    The OFP:R server doesn't just send heartbeats to gamespy, but to master.udpsoft.com, as well. That was the domain of the "All seeing eye"'s master server, but it is not operated anymore. Maybe someone can get a hold of it? :cool:

    @qbt

    Are you doing a clone of the gs-ms with the exact behaviour, including encryption/compression of the queried server list? Or a protocol of your own?

    I don't think that encryption is necessary in our case, as only a handful of players are going to use this, and the produced traffic is nowhere near what gamespy's master-server has to withstand. Maybe just gzip-ing it would be enough. In any case, let me know about that, as the client side counter part (of the implementation that is going to make it) is going to be added to OFPMonitor.

    And if you need something gamespy protocol related, check http://aluigi.altervista.org/papers.htm#distrust.

    Apart from that, OFPMonitor will get an update anyway, to primarily use domain names, if available, instead of IPs.


  5. How I can create marker in script?

    You can not, as the script command createMarker does not exist in OFP. Neither in 1.96 nor in 1.99, even though the Changelog of 1.99 mentions:

    - Changed: createMarker function now works only local

    It was first added in ArmA 1.00

    All markers that you want to use during the mission, have to be created at design-time in the mission editor.


  6. Do you have a firewall running in the background, which monitors your program's attempts to access the internet?

    Your firewall may be asking you to grant or deny access to the network, in some dialog on the desktop and meanwhile blocking the process.

    As you just patched OFP, the executable file changed and therefore any access rules that you had set for the previous version, do not apply anymore.

    I am using ZoneAlarm and without any rules set for OFP, it completly freezes the game when going to the multiplayer screen, including the mouse cursor. Until I tab back to the desktop and grant access.


  7. Hmm, never encountered this.

    Is there any error dialog poping up in the background, which blocks the application? Try ALT+Tab back to windows and see if there's any.

    And you might just disable the intro/splash screens by using the startup parameter -nosplash

    I bet that's the first thing everybody (who knows it) does after installing OFP.

    Info on startup parameters:

    http://community.bistudio.com/wiki/Category:Operation_Flashpoint:_Startup_Parameters


  8. Do you know whether or not the prompt behavior (or lack thereof) after starting the server is normal?

    I don't

    How is the performance for you?

    The performace was very good. 50fps in idle, 46fps was the lowest during the counter attack on the hill. I had #monitor running with a 10s interval. The unit movements were very fluent, I did not notice any lag, though my ping is about 160ms.

    This mission was a small one and I was alone, if you want to benchmark your server, run something bigger like a cti with several players.

    Can you see it in OFPWatch?

    Yes


  9. The passworded one is working, it's in the gamespy server list and all. I just played the mission "Return to Eden" on it a few minutes ago.

    I don't see any other ATS servers.

    For multiple servers, you have to use different external ports ofcourse with corresponding forwarding rules on the router. And if they are running on the same machine different internal ones as well.


  10. If you need someone to test from outside, i can help. Just need your server's external IP.

    Edit:

    If you don't even see the server from within the local network, don't bother trying from outside, it won't work as well.

    Looks like there's a firewall (like iptables) installed on the server machine which blocks incoming connections


  11. Ok then. Check if you can you see your server with OFPWatch and if you can connect to it. From within your local network and from outside.

    Nobody told if these things work already, so go check them.

    You don't use a \ in the server name, do you?


  12. No entry 'config.bin.CfgAddons'.

    means that the application is looking for (and expects to find) a class called "CfgAddons" in the top level of the game config, but couldn't find it.

    This class is defined in the main config of OFP:Resistance \Operation Flashpoint\RES\bin\config.bin

    (I couldn't find it in the config.bin of OFP:CWC)

    Is OFP:Resistance installed at all? Are you running the OFP:R server on the OFP:CWC installation?


  13. 1. Addons for cti missions that are frequently played these days:

    irParaZ:

    res-z:

    For res-z v3 missions you need both.

    If you're still missing something, the "Cannot load mission, missing addons" message should tell you.

    Check then:

    2. Getting the "... kicked off" message right away means

    a) that someone is logged in as *Admin* and he locked the server. Usually when the teams are set and the game is about to start, or has been started already.

    or

    b) that one of your custom files (face, sounds; if you have any) exceeds the server's maxcustomfilesize limit

×