Live post (from Notepad
):
- Programming is ready. Packet will be recreated with the new value for capacity before being handled by PSE's main server, or sent to EA.
*** Test with cap = 5 ***
- PSE offline profile: everything goes well, PSE's returnDedicatedServerToPool is still hardcoded to 4, so nothing really changes.
*** Now on MITM, under Origin ***
- Private match: everything goes well, I checked returnDedicatedServerToPool and its cap is 5. So EA server acknowledges any cap sent by the lobby creator.
*** Time to go public (with changed name just in case shit happens on other people side so they don't blame me
) ***
- Public match: lobby created, cap has been set as in private match, waiting for people.
- Nobody joins, tested all difficulties, unknown/unknown. From looking at the log, it seems some algorithm at EA server prevents my lobby from being returned to anyone (obviously they don't expect someone to open a 5-player lobby), no evidence of anyone trying to connect to me and failing.
*** New test with cap = 2, suppressing PSE LAN and MITM private since they'll definitely produce the same results ***
- Public lobby created: waiting...
- Success! One guy joined.
- 2 minutes and no one else joins... I'll just click "ready"...
- Glacier/Geth/Bronze, 13 minutes. The other guy was a level 14 Novaguard, died 4 times. Far from being an idiot, he helped with objectives.
- Back to lobby, waiting for more people.
- No one else joins. If I get out, the other guy will become the leader, and I fear that... never mind, he just left, I'll leave now.
That's it. Player capacity can be manipulated to have less than 4 players in a lobby, but not more. Next test will be on PSE LAN, where I'll try to force 5 clients to join the same lobby.
Mgamerz wrote:Ive been looking through a lot of PCC files, and have a pretty comprehensive text file dump of everything (enums, scripts, names, exports, names, properties) if you're interested.
I assume it includes scripts from DLC's and the TESTPATCH or whatever it's called, right?
Currently, most of the things I find in scripts is through ScriptDB, where I use my own search function.
http://me3explorer.freeforums.org/scrip ... t1871.html
Mgamerz wrote:
You wrote an extension to binkw32.dll, and I was wondering if you have any knowledge to share on how you did that. (I haven't done much dll work... Want to learn how to hijack game like bink does though)
Feel free to ask me anything about that and I'll try to answer the best I can.
Is there some other game where you need a fake dll for it?
Mgamerz wrote:
Additionally, I am curious where the game knows how to find the balance changes URL. I dumped strings from a decrypted exe and didn't see anything related to the URL... I assume possibly one of the dlls?
There's no URL for balance changes. It's part of the communication with the main game server. The game asks for "ME3_BINI_PC_COMPRESSED" in a packet, and as response the server sends the compressed content of a remote Coalesced file, whatever the hell is its name in EA server, assuming it's a file at all - could be a bunch of bytes stored in some db, the final result would still be the same on our side.
There's a "ME3_BINI_PC" string in the game's memory. Maybe if you change that to something like "ME3_BINI_XX" it will prevent the game from getting the remote Coalesced, since EA server (and even PSE) won't recognize that request.
Fake edit: actually, you have to change "
ME3_BINI_VERSION" - the game sends that to the server, the server replies with "BINI_PC_COMPRESSED", then the game asks for "ME3_BINI_PC_COMPRESSED".