Jump to content
Official BF Editor Forums

Assembly Hacker To Dig Into Bf2142 Code Needed

Recommended Posts

I ported my demo server into the full game server, and I'm finding, nobody will join, because being the blind lemmings that players are, they do not even see the Advanced tab. They only think the servers that exist, are what they see in the Quick Pick list (I observed this same behavior in the demo land server - not showing up in the Quick Pick list was death for a server).

Because my server is unranked (I run my own rank system), it does not have a little rank icon by it, and so it is excluded from the Quick Pick list, which only shows servers that are md5 checksumed, ranked, punkbustered, and teamspeak enabled (all 5 icons lit). And my server has a nice little red flag by it indicating it is not md5 checksumed, because, wanting to run a highly modded server, the first thing we do is disable the md5 checksum files.


I hate having to kludge a system that is working, because of daft player mentality, but can anyone think of a way to fool the list into thinking your server is md5 checksummed and ranked, when its not, so it will show up in the Quick Pick? Or does anyone know anything about the Quick Pick list, and what criteria it uses to exclude servers. I use to think it was only based on listing servers that were not empty, and that had a low ping to you, but apparently in the full game, it is checking other variables to make the list far more exclusive....

Method: I'm thinking if I can find in the BF2142 1.51 dedicated Windows Server machine code, where the md5 checksum routine is located, and where it ends and returns True or False to the calling routine (if the checksum of a file passed or failed), then I can kludge hack a place in the checksum machine code with a hex editor so that the checksum routine always returns a True / Pass condition irregardless of its finding. In this way, all checksums of any files would pass.

Not sure how the md5 checksum system works... is it simpler to override than that. Ie, can I just recompute the checksum numbers for the new modified files, paste them in the server config files, and have the server talk back to the master list that hey, everything checked out, the computed checksums of the local files matched the locally stored checksum numbers (daft). Is that how it operates, in a daft way, or does it actually send the checksum numbers it computes upstream?

Edited by cobrachoppergirl

Share this post

Link to post
Share on other sites

Some one has sent me a hack, that can get an unranked 2142 full game server to run as ranked, and thereby listed in the Quick Pick ranked list... solving the above problem

I am half way there... but as always, DICE choices regarding GameLogic continues to be a buzzkill.

OllyDbg listing of BF2142w32ded.exe:


Now what I need is a disassembly cracker to find in the BFLauncher and bf2142.exe files, where this blasted "NumPlayersNeededToStart" for Ranked servers is set and enforced to 6 is.... and rip it out or otherwise nuke it or bypass the check, because this is a total joykill.

A ranked server game won't start until at least 6 players join, and that takes forever, and keeps the server from ever getting off the ground. What were these idiots thinking... way to kill a server. I could understand if it were set to something like 2, but really, it needs to always be set to 0, because as soon as the required num of players join, the game totally resets... and if you were flying, for example, boom, shock, your suddenly back on the titan, and what just happened?

1.1.1 Ranked Servers have a number of settings hard-coded so that users cannot adjust them. These settings are all set as below to keep the competition on Ranked servers balanced across all providers:

minPlayers: 16+ (minimum server size is 16 players)

sv.password = Ҡ(empty string - Ranked servers may not be password protected. Ranked servers are intended to be available to all players.)

sv.numPlayersNeededToStart = ([b]6 for 16-31 maxPlayers, 10 for 32-64[/b])

sv.spawnTime [b]15[/b]

sv.manDownTime [b]15[/b]

sv.ticketRatio 100

sv.teamRatioPercent 100

sv.punkBuster 1

So, anyway, I'm not per say running an officially Ranked server, I have my own private ranking system, I just want it to be listed as a Ranked server even though it is not, so it will be on the main connect to server Quick Pick screen in BF2142 and not biased again... because the retard turds that are BF2/2142 players, do not have the brain cells to ever click on the Advanced Tab... thereby making any server that is not on the quick pick list (all unranked servers and ranked empty servers), unseen by this ocean of morons er I mean... players...

I don't think I'm violating any terms of agreement, because my server is not even talking to the EA/Gamespy rank server, so the rules regarding ranked servers do not apply in this situation. Its still an Unranked server, it just wants pose as a ranked server, with the "rank" flag on, so it gets in the Quick Pick list.

Any help would be appreciated. Like always, I just want to play the game the way I want to play it... wihtout my server being biased against in the server browser lists :-/ Fixed and not retarded

OllyDBG listing of Bf2142ServerLauncher :


Edited by cobrachoppergirl

Share this post

Link to post
Share on other sites

Thanks to some other contributions by various friends and fans out there, this problem has been solved...

Now (1) running my own 2142 full game ranked server on my own box off a cable modem, (2) its listed in the quick pick list, and (3) someone figured out how to get rid of the server killer "6 players needed to join before game starts" BS requirement on ranked servers, and I quickly coded up a kludge script on a DOS command line to make work.

Just goes to show, if you're a girl, and you bitch long enough, someone will step up one at a time and provide a solution ;-) A slow method to doing it yourself, but I really had no clever insights into attacking this one. But in this case, it was multiple eyeballs and brains for the win. And using some really clever tricks and insights of my own, I was able to glue these three things together. I even got unlocks working for everybody.

Picture is proof of the pudding... the Holy Grail. Meet the hated insidious 2142 full game quick pick list:


What you are seeing in the picture.... my heavily SSO (server side only) Modded Ranked server, not a ranked server rented from EA, running off my own box on cable modem, in the quick pick list that only shows ranked servers rented from EA. Note red computer monitor icon... not sure what that indicates... probably that I renamed my hash checksum files so that I could launch the server with modded files (first thing you do when you mod, is take these checksum files offline).

If your server is not in this bloody damn list, it may as well be in dumpster out behind your house switched off, as it will get about as many players connecting to it. So getting your server listed in this list is epic imperative. Players are too unbelievably stupid to ever click the Advanced Tab, which lists all servers... where your modded server and empty ranked servers are relegated to the hinterlands of non-visibility. There are about 40 2142 servers, but players only see maybe 3 to 10 on this quick pick list at any given time, so like the lemming retard sheeple server whores they are, they all pile into just those servers. As usual, this is me coding around player stupid behavior.



Note that I run a private independent code ranked system of my own, and points earned on my modded server do not go towards or mix at all with EA points or towards ranking up, and I never want them too, so we are golden. If a player connects to my server, they will see their EA rank icon (sergeant, captain, etc)in the player list, and be able to use all their unlocks under the customize button, but they can't earn new unlocks or points on my server as it never talks to the EA ranking system at all as far as forwarding any kind of score data upstream.



Though this is an epic programming coup d'etat, its utlimately futile, as players are still stupid as shit. After spending 5 years continuing the development on 2142 and polishing off its rough edges, and laying down huge tracts of new slick code, I still watch players leave to go play on what they call a "correct server" where they get their idiot little EA medals, icons, and trinkets and can rank up in some hierachy that is totally irrelevant. Doesn't matter that the server is over run by idiots, stock and slow as molasses and boring as a brick. Battlefield players as a whole aren't warriors, they are peon soldier wannabes, little kids looking to play with dishing out death by pulling a trigger at anything that moves, and there is a huge difference.

No matter how much you try to program around players stupidity... they will continuously find ways to remain... stupid as rocks.

For the modding community, that should be the ultimate mod... to find a mod that can mod the stupid out of players. I've tried it for years, with slick kicker code that kicks out idiots when the server gets full for better players, etc... [end rant]


Edited by cobrachoppergirl

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...