Forged Alliance Forever Forged Alliance Forever Forums 2015-04-18T20:47:12+02:00 /feed.php?f=2&t=9685 2015-04-18T20:47:12+02:00 2015-04-18T20:47:12+02:00 /viewtopic.php?t=9685&p=98825#p98825 <![CDATA[Re: Is this possible? Has something like this been attempted]]>
sounds like our own Hunger Games?
Who will be the girl with the bow :lol: ?

Statistics: Posted by palombhp — 18 Apr 2015, 20:47


]]>
2015-04-04T20:20:04+02:00 2015-04-04T20:20:04+02:00 /viewtopic.php?t=9685&p=97703#p97703 <![CDATA[Re: Is this possible? Has something like this been attempted]]>
SeraphimLeftNut wrote:
A new game mode for either 1v1 or team games:

A neutral civilian faction is spawned at the same time as the players, controlled by the FAF lobby. This neutral civilian can give resources or units to either to anyone in the game when people in aelous who are watching live replay or twitch stream feel like it.

To make this interesting there have to be strict rules about what can be given and under what conditions as well as a good interface for voting for a given action.

BEST. IDEA.

Statistics: Posted by tatsu — 04 Apr 2015, 20:20


]]>
2015-04-04T19:47:53+02:00 2015-04-04T19:47:53+02:00 /viewtopic.php?t=9685&p=97701#p97701 <![CDATA[Re: Is this possible? Has something like this been attempted]]>
Lyr wrote:
Which is why I said "kinda like a MitM attack" not a MitM. Attack.. Forgive me for showing some curiosity about how you planned to implement it.


it is a 3-party network. alice and bob know about eve.
eve is usually not doing anything, except sometimes sending specially crafted
lua objects, which are parsed by alice and bob and acted upon.
not doing anything does mean sending packets regularly. everyone in the
network keeps everyone else up to date about what simtick they are on and
what their current simulation state is (state is not shared, only the hash of
all state objects so that peers know about whether there is a divergent state
in the network).

Statistics: Posted by rootbeer23 — 04 Apr 2015, 19:47


]]>
2015-04-04T17:53:15+02:00 2015-04-04T17:53:15+02:00 /viewtopic.php?t=9685&p=97694#p97694 <![CDATA[Re: Is this possible? Has something like this been attempted]]>
Lyr wrote:
Which is why I said "kinda like a MitM attack" not a MitM. Attack.. Forgive me for showing some curiosity about how you planned to implement it.


You sound kinda passive aggressive, did you perceive a slight or something or am I just misinterpreting? :P

Statistics: Posted by Ceneraii — 04 Apr 2015, 17:53


]]>
2015-04-04T17:50:22+02:00 2015-04-04T17:50:22+02:00 /viewtopic.php?t=9685&p=97693#p97693 <![CDATA[Re: Is this possible? Has something like this been attempted]]> Statistics: Posted by Lyr — 04 Apr 2015, 17:50


]]>
2015-04-04T16:22:55+02:00 2015-04-04T16:22:55+02:00 /viewtopic.php?t=9685&p=97687#p97687 <![CDATA[Re: Is this possible? Has something like this been attempted]]>
Lyr wrote:
You needn't be defensive.

It's the same principle really two players Alice and Bob are sending packets to each other relaying sim state data. The lobby is Eve, who sends packets to the dummy player, who then relay the new sim state data to each player who's sims are updated accordingly. About the long and short of it? Or is there some other mechanism that I am missing here?


I wasn't being defensive. It is not a man-in-the-middle 'attack' because you're not doing any attacking. It is not like a man-in-the-middle attack either, because we would not be manipulating any packets, only issuing our own.

Also, the packets do not relay the sim state, they relay commands that are to be issued to every sim in an agreed-upon order.

Statistics: Posted by Sheeo — 04 Apr 2015, 16:22


]]>
2015-04-04T13:58:37+02:00 2015-04-04T13:58:37+02:00 /viewtopic.php?t=9685&p=97672#p97672 <![CDATA[Re: Is this possible? Has something like this been attempted]]>
It's the same principle really two players Alice and Bob are sending packets to each other relaying sim state data. The lobby is Eve, who sends packets to the dummy player, who then relay the new sim state data to each player who's sims are updated accordingly. About the long and short of it? Or is there some other mechanism that I am missing here?

Statistics: Posted by Lyr — 04 Apr 2015, 13:58


]]>
2015-04-04T13:56:37+02:00 2015-04-04T13:56:37+02:00 /viewtopic.php?t=9685&p=97671#p97671 <![CDATA[Re: Is this possible? Has something like this been attempted]]> Probably by combining a web bot (to "gather" the commands via a parsing system) and a AI (to "follow" the commands in a way that seem sensible, based on when and how many of a particular command were gathered) it could be possible.
Add a FA license for it and enable the game for "player controlled civilians" (this might involve cheating=ON) and it could be possible.

Ofc i'm ignorant like a rock on the matter (i apologize to rocks)

Statistics: Posted by zeroAPM — 04 Apr 2015, 13:56


]]>
2015-04-04T12:55:01+02:00 2015-04-04T12:55:01+02:00 /viewtopic.php?t=9685&p=97665#p97665 <![CDATA[Re: Is this possible? Has something like this been attempted]]>
We already proxy the game connections through the lobby when you connect to peers by proxy.

Statistics: Posted by Sheeo — 04 Apr 2015, 12:55


]]>
2015-04-04T12:47:51+02:00 2015-04-04T12:47:51+02:00 /viewtopic.php?t=9685&p=97664#p97664 <![CDATA[Re: Is this possible? Has something like this been attempted]]> Statistics: Posted by Lyr — 04 Apr 2015, 12:47


]]>
2015-04-04T11:27:31+02:00 2015-04-04T11:27:31+02:00 /viewtopic.php?t=9685&p=97659#p97659 <![CDATA[Re: Is this possible? Has something like this been attempted]]>
Lyr wrote:
Seems like you would end up getting tempt to yield errors when trying to send signals to the engine via the lua.


We wouldn't be issuing any commands through lua.

Lyr wrote:
Nefarious - well cheating more specifically. I'm sure you can use your imagination as to how that might be possible.


While sniffing the network protocol has potential cheating purposes, but of course that's not really the aim here and somewhat unrelated -- it doesn't allow anything that wasn't possible before, and understanding the protocol does not necessarily help you cheat in any way.

Statistics: Posted by Sheeo — 04 Apr 2015, 11:27


]]>
2015-04-04T04:23:09+02:00 2015-04-04T04:23:09+02:00 /viewtopic.php?t=9685&p=97642#p97642 <![CDATA[Re: Is this possible? Has something like this been attempted]]>
Nefarious - well cheating more specifically. I'm sure you can use your imagination as to how that might be possible.

Statistics: Posted by Lyr — 04 Apr 2015, 04:23


]]>
2015-04-03T14:00:01+02:00 2015-04-03T14:00:01+02:00 /viewtopic.php?t=9685&p=97587#p97587 <![CDATA[Re: Is this possible? Has something like this been attempted]]>
Lyr wrote:
Emulating a dummy player is straightforward enough. How would you pass signals to the engine at run-time? I don't see how you can pass new commands into the lua that would be recognised by the engine once you start the main thread.


Emulating a dummy player using the network, is what I am talking about. I would be passing new commands into the engine the same way players 'pass commands' into eachother's game: By sending the right application level messages over the wire.

Lyr wrote:
The network protocol is UDP - What do you mean when you say network protocol?


Well yes, the game messages are sent over UDP -- that's not relevant to this, though. I mean the application-level message protocol that the game uses. Quite a bit of reverse engineering of it done already: https://github.com/FAForever/client/wiki/Compression#command-stream-urgencylow

Lyr wrote:
Sure there are potentially many interesting applications provided you can do it. Some more nefarious ones too.


Nefarious, such as?

Statistics: Posted by Sheeo — 03 Apr 2015, 14:00


]]>
2015-04-03T13:40:57+02:00 2015-04-03T13:40:57+02:00 /viewtopic.php?t=9685&p=97586#p97586 <![CDATA[Re: Is this possible? Has something like this been attempted]]>
Sheeo wrote:
Lyr wrote:I doubt it.

Modifying the lua to launch custom parameters/game events at the start of the game is one thing. Feeding in commands into a live game state from an external source - e.g the lobby or twitch is quite another thing altogether. All GW was - was a system of unique game events and launch paramters all fed into the "mod" (GW) at game launch. You're talking feeding network data from an external library into the game during a live sim. At the very least desyncs are going to be a problem. More likely you are going to have issues crossing the C/lua boundary . I researched, and discussed with Zep having players reinforce live GW games, pretty much the only way it was considered possible was by saving the game state and reloading it with a new player into an existing dummy player slot. I'm not aware of any methods/functions that let you parse commands into the sim from outside the game apart from starting the game, ending the game and parsing game data to an external source.

This also ignores the myriad implementation issues, and the validity of creating a game mode that is essentially a popularity contest. Fun, sure.


It's fully possible by simply emulating a client, using the normal network protocol. Desyncs would not be a problem, as you would just be relaying the same sim-state hash that peers are sending.

The toughest part is fully reverse engineering the protocol, followed by making sure the issued commands are valid. It's in our interest to fully understand the networking protocol for more purposes than this fun anyway.


Emulating a dummy player is straightforward enough. How would you pass signals to the engine at run-time? I don't see how you can pass new commands into the lua that would be recognised by the engine once you start the main thread.

The network protocol is UDP - What do you mean when you say network protocol?

Sure there are potentially many interesting applications provided you can do it. Some more nefarious ones too.

Statistics: Posted by Lyr — 03 Apr 2015, 13:40


]]>
2015-04-03T11:23:25+02:00 2015-04-03T11:23:25+02:00 /viewtopic.php?t=9685&p=97579#p97579 <![CDATA[Re: Is this possible? Has something like this been attempted]]>

Statistics: Posted by Vee — 03 Apr 2015, 11:23


]]>