Announcement Announcement Module
    Collapse
    No announcement yet.
    Frontlines: Fuel of War added Page Title Module
    Move Remove Collapse
    This topic is closed
    X
    X
    Conversation Detail Module
    Collapse
    • Filter
    • Time
    • Show
    Clear All
    new posts

    • Frontlines: Fuel of War added

      #1
      I know a lot of you have been waiting for this, and it is finally here!

      We have added support for FFOW to Game-Monitor:
      http://www.game-monitor.com/GameSear...el_of_War.html

      If you wish to add your server, make sure it is running at least 1.0.2 (also, the query port should be game+2).

      You can find the newest patches for the game here:
      http://www.kaosstudios.com/ffow-patches/


      Lastly I just want to say how impressed I am with the makers of FFOW and THQ, they really seem to care about their community, and are pleasant to work with.

      Please note: Not all FFOW servers are listed here, these are only servers that we managed to find, that replied to queries, and that were added in manually through the 'Add Server' page.

      Update: It seems that the new server files have been released, here is the news post about it with links.

      They also provide information on it here:
      http://community.kaosstudios.com/wiki/index.php/Hosting
      Last edited by Wojjie; 04-09-2008, 07:42 PM.

    • #2
      Nice! Good Job!

      Comment


      • #3
        hello im new and yes the ffow help is here been waiting for something to come nice job

        Comment


        • #4
          would be nice if it worked, only 2 servers will show in search,

          Comment


          • #5
            There are 12:
            http://www.game-monitor.com/GameSear...el_of_War.html

            Comment


            • #6
              My server will not respond 72.233.30.130:5478

              Comment


              • #7
                It appears that the dedicated server files that are needed for Game-Monitor to query the server are not yet released. I will announce the release of those files when I see them available publicly.

                Comment


                • #8
                  It seems that the new server files have been released, here is the news post about it with links.

                  They also provide information on it here:
                  http://community.kaosstudios.com/wiki/index.php/Hosting

                  Comment


                  • #9
                    Frontlines:Query Protocol Guide

                    This should make your ffow service better...

                    --------------------
                    Port Configuration
                    --------------------
                    Default query port is 5478
                    Optional, Customize query port on the server via command line argument: QueryPort=5478
                    Optional, Customize query port on the server via .ini file settings:
                    DefaultEngine.ini
                    [Engine.QueryProtocol]
                    QueryPort=5478
                    ListenBindIP=0.0.0.0


                    --------------------
                    Example Tool Usage
                    --------------------

                    Binaries\Tools\FFOW_QueryProtocolTest\

                    Modify FFOW_QueryProtocolTest.bat with a text editor

                    Usage: FFOW_QueryProtocolTest.exe [IP:Port] [retries] [timeout in seconds] [optional argument -vertical]
                    Example: FFOW_QueryProtocolTest.exe 127.0.0.1:5478 2 3

                    Append -vertical for vertical text output instead of the default horizontal.

                    FFOW_QueryProtocolTest.bat is configured by default to ping the local host (127.0.0.1) at the default UDP query port 5478

                    It will then open the output file FFOW_QueryProtocolTest.Log with notepad

                    --------------------
                    Source Code
                    --------------------

                    1) Send these 8 characters via UDP to the server's query port: "????FLSQ"
                    2) Server will send back a UDP packet as a response, details interpreting the response and other methods of query below:

                    Data types:
                    byte 8bit char
                    short 16bit integer
                    long 32bit int
                    float 32bit float
                    string series of chars null terminated with 0x00

                    Converting from network to host byte order:
                    short Value16bit = ntohs( *(short *)&PacketBuffer );
                    long Value32bit = ntohl( *(long *)&PacketBuffer );
                    float ValueFloat = *(float *)&Value32Bit; // use ntohl() first to swap the byte order, then cast result to a float


                    Constants:
                    enum ServerQueryTypeEnum
                    {
                    SQT_ChallengeReply=0x41, // Example packet: FF FF FF FF 41 32 42 59 45
                    SQT_PlayerListReply=0x44, // Example packet: FF FF FF FE ...
                    SQT_RuleListReply=0x45, // Example packet: FF FF FF FE ...
                    SQT_InfoReply=0x49, // Example packet: FF FF FF FF ...
                    SQT_InfoRequest=0x54, // Example packet: FF FF FF FF 46 4C 53 51
                    SQT_PlayerListRequest=0x55, // Example packet: FF FF FF FF 55 32 42 59 45
                    SQT_RuleListRequest=0x56, // Example packet: FF FF FF FF 56 32 42 59 45
                    SQT_ChallengeRequest=0x57, // Example packet: FF FF FF FF 57
                    SQT_PingRequest=0x69, // Example packet: FF FF FF FF 69 00 00 00 00
                    SQT_PingReply=0x6A // Example packet: FF FF FF FF 6A 00 00 00 00
                    };



                    -----------------------------------------------
                    IMPORTANT! Packets with header -2 are part of a larger packet that had to be split over multiple packets!

                    Split packets start with this 12 byte header:
                    Header Long -2 (0xFFFFFFFE)
                    RequestID Long For grouping packets together belonging to same response
                    PacketNumber Byte 0-255 (zero is the first packet number)
                    NumPackets Byte 1-255
                    SizeOfPacketSplits Short 1248 is default

                    Combine a split packet as if it was one large packet, packets are split at the byte level

                    First packet:
                    #12 bytes for packet split header
                    #packet data A

                    Second packet:
                    #12 bytes for packet split header
                    #packet data B

                    Combine to:
                    #packet data A (will start with -1, ReplyType, ...)
                    #packet data B (does not start with -1, continues exactly on the byte data A left off at)

                    Then parse the full packet using standard information below.
                    -----------------------------------------------


                    -----------------------------------------------
                    ServerInfo Request:
                    Send these 8 hex bytes: FF FF FF FF 46 4C 53 51 "????FLSQ"
                    -----------------------------------------------
                    ServerInfo Reply:
                    Header Long -1 (0xFFFFFFFF)
                    ReplyType Byte 0x49
                    NetVersion Byte 0x02
                    ServerName String "Name of Server Here"
                    MapName String "FL-Street"
                    ModName String "FOW"
                    GameMode String "FL"
                    GameDescription String "Frontlines: Fuel of War"
                    GameVersion String "1.0.3"
                    GamePort Short 5476
                    NumPlayers Byte 53
                    PlayersMax Byte 64
                    Dedicated Byte 'd' (dedicated), 'l' (listen), 'p' (broadcast)
                    OperatingSystem Byte 'w' (windows), 'l' (linux)
                    Password Byte 0
                    AntiCheat Byte 0
                    AverageFrameMs Byte CPU load, 16 = 50% load (30 FPS capped), 33 = 100% load (30 FPS), 66 = 200% load (15 FPS)
                    Round Byte 2
                    RoundsMax Byte 3
                    RoundSecondsLeft Short 4646, Current round time in seconds counting down or up depending on game settings
                    -----------------------------------------------
                    Ping Request: (9 bytes)
                    Header Long -1 (0xFFFFFFFF)
                    ReplyType Byte 0x69
                    PacketID Long Client Assigned Unique Number for this request
                    -----------------------------------------------
                    Ping Reply: (9 bytes)
                    Header Long -1 (0xFFFFFFFF)
                    ReplyType Byte 0x6A
                    PacketID Long Client Assigned Unique Number for this request
                    -----------------------------------------------
                    Challenge Request: (5 bytes)
                    Header Long -1 (0xFFFFFFFF)
                    RequestType Byte 0x57
                    -----------------------------------------------
                    Challenge Reply: (9 bytes)
                    Header Long -1 (0xFFFFFFFF)
                    ReplyType Byte 0x57
                    Challenge Long Use this challenge number in PlayerList/RuleList requests
                    -----------------------------------------------
                    PlayerList Request: (9 bytes)
                    Header Long -1 (0xFFFFFFFF)
                    RequestType Byte 0x55
                    Challenge Long Supplied from challenge response query
                    -----------------------------------------------
                    PlayerList Reply (can be split across multiple packets):
                    Header Long -1 (0xFFFFFFFF)
                    ReplyType Byte 0x44
                    NumPlayersTotal Byte 0-255
                    ... For each player:
                    {
                    Index Byte Arbitrary index for this entry during this reply
                    PlayerName String
                    Score Long
                    TimeConnected Float in seconds
                    Ping Short in milliseconds
                    ProfileID Long 234092 (online profile ID)
                    Team Byte 0,1
                    }
                    -----------------------------------------------
                    RuleList Request:
                    Header Long -1 (0xFFFFFFFF)
                    RequestType Byte 0x56
                    Challenge Long Supplied from challenge response query
                    -----------------------------------------------
                    RuleList Reply (can be split across multiple packets):
                    Header Long -1 (0xFFFFFFFF)
                    ReplyType Byte 0x45
                    NumRulesTotal Short 0-65535
                    ... For each rule:
                    {
                    RuleName String "FriendlyFire"
                    RuleValue String "0"
                    }

                    Comment


                    • #10
                      Sweet! i love that game

                      Comment

                      Working...
                      X