FIXING PRSPY >64p
- Mats391
- PR:BF2 Lead Developer
- Posts: 7643
- Joined: 2010-08-06 18:06
Re: FIXED PRSPY >64p
There are ways to run cheat engine on linux i think, but no idea how good the results are.
Either way i dont see anything preventing from adding this to windows servers, if it all works fine there.
Either way i dont see anything preventing from adding this to windows servers, if it all works fine there.
-
The Iron Dreamer
- Posts: 444
- Joined: 2009-01-16 22:23
-
Arab
- PR:BF2 Developer
- Posts: 2898
- Joined: 2012-05-18 03:37
Re: FIXED PRSPY >64p
You can use wine, or an alternative called PlayOnLinux to run the cheat engine application in linux. It's an app that allows native support for most windows games & apps and is not an emulator.
Link: https://www.winehq.org/
It can run Battlefield 2 just google around on how to install.
Pm me and I can help you with linux if you need help. Im not very good but im familiar with linux, just not in a technical level.
Link: https://www.winehq.org/
It can run Battlefield 2 just google around on how to install.
Pm me and I can help you with linux if you need help. Im not very good but im familiar with linux, just not in a technical level.
Last edited by Arab on 2014-11-11 22:11, edited 4 times in total.
-
Nemes1s
- Posts: 42
- Joined: 2011-08-04 13:40
Re: FIXED PRSPY >64p
Linux 32 bit:
dice::hfe::ServerQueryCache::ServerQueryCache(void)
Offset: 00077B8D change mov edi, 3Fh to 63h
dice::hfe::ServerQueryCache::ServerQueryCache(void)
Offset: 00077C9D change mov edi, 3Fh to 63h
dice::hfe::ServerQueryCache::getPlayerKey(int, dice::hfe:
layerQueryKey) (optional)
Offset: 00078062 change cmp edx, 3Fh to 63h
dice::hfe::ServerQueryCache::update(void)
Offset: 000790BD change cmp [ebp+var_1AC], 3Fh to 63h
Attention: These changes are untested and may either not work or in the worst case cause server instability.
I will add 64 bit later.
EDIT:
Linux 64 bit:
dice::hfe::ServerQueryCache::ServerQueryCache(void)
Offset: 0006D387 change mov edi, 40h to 64h
dice::hfe::ServerQueryCache::ServerQueryCache(void)
Offset: 0006D477 change mov edi, 40h to 63h
dice::hfe::ServerQueryCache::getPlayerKey(int, dice::hfe:
layerQueryKey) (optional)
Offset: 0006D30A change cmp esi, 3Fh to 63h
dice::hfe::ServerQueryCache::update(void)
Offset: 0006E546 change cmp [rsp+238h+var_22C], 40h to 64h
dice::hfe::ServerQueryCache::ServerQueryCache(void)
Offset: 00077B8D change mov edi, 3Fh to 63h
dice::hfe::ServerQueryCache::ServerQueryCache(void)
Offset: 00077C9D change mov edi, 3Fh to 63h
dice::hfe::ServerQueryCache::getPlayerKey(int, dice::hfe:
Offset: 00078062 change cmp edx, 3Fh to 63h
dice::hfe::ServerQueryCache::update(void)
Offset: 000790BD change cmp [ebp+var_1AC], 3Fh to 63h
Attention: These changes are untested and may either not work or in the worst case cause server instability.
I will add 64 bit later.
EDIT:
Linux 64 bit:
dice::hfe::ServerQueryCache::ServerQueryCache(void)
Offset: 0006D387 change mov edi, 40h to 64h
dice::hfe::ServerQueryCache::ServerQueryCache(void)
Offset: 0006D477 change mov edi, 40h to 63h
dice::hfe::ServerQueryCache::getPlayerKey(int, dice::hfe:
Offset: 0006D30A change cmp esi, 3Fh to 63h
dice::hfe::ServerQueryCache::update(void)
Offset: 0006E546 change cmp [rsp+238h+var_22C], 40h to 64h
Last edited by Nemes1s on 2014-11-11 23:15, edited 1 time in total.
Reason: added 64 bit
Reason: added 64 bit
-
UTurista
- PR:BF2 Developer
- Posts: 985
- Joined: 2011-06-14 14:13
This seems promissing, can I ask how did you found out the values?
And did you tested this in your computer (local server)?
edit:
I've tried the 64x and I got a Segmentation Fault error.
And did you tested this in your computer (local server)?
edit:
I've tried the 64x and I got a Segmentation Fault error.
Last edited by UTurista on 2014-11-14 15:48, edited 1 time in total.

Dont question the wikipedia! Just because it reports different things on different languages does not make it unreliable source!
-
UTurista
- PR:BF2 Developer
- Posts: 985
- Joined: 2011-06-14 14:13
Re: FIXED PRSPY >64p
Hi everyone,
Like you might noticed the assembly solution didn't worked, the servers running in windows machine are very few and the linux solution is nowhere to be found.
But not everything is lost, we still have a non-native solution... Python! this might have none to a huge impact on the server performance, so again it could be a dead end, but we still need to try.
After a day of work I've made a QueryModule that adds a listening (UDP)port and replies with json file.
Currently the model for this JSON file is:
This is far from complete, for example I want to reply with a fastest and smallest message, instead of the current block of text (MessagePack)
But seeing this is my first time coding with Python I wanted to ask here if there's someone that could help me.
The current version of the code is already functional but needs to be optimized and expanded.
Like you might noticed the assembly solution didn't worked, the servers running in windows machine are very few and the linux solution is nowhere to be found.
But not everything is lost, we still have a non-native solution... Python! this might have none to a huge impact on the server performance, so again it could be a dead end, but we still need to try.
After a day of work I've made a QueryModule that adds a listening (UDP)port and replies with json file.
Currently the model for this JSON file is:
Code: Select all
ipAddress
queryPort
customQueryPort
currentTime
squadTime
players
name
kit
squad
isSquadLeader
teams
name
But seeing this is my first time coding with Python I wanted to ask here if there's someone that could help me.
The current version of the code is already functional but needs to be optimized and expanded.

Dont question the wikipedia! Just because it reports different things on different languages does not make it unreliable source!
-
piepieonline
- Retired PR Developer
- Posts: 433
- Joined: 2009-07-22 00:41
Re: FIXED PRSPY >64p
AncientMan and I tried python already, but we found that server stability seemed to suffer, which is why we reverted back to not worrying about it. 

-
UTurista
- PR:BF2 Developer
- Posts: 985
- Joined: 2011-06-14 14:13
Re: FIXED PRSPY >64p
And was your approach the same as mine? I knew that AM already had tried but he never said how was his approach so I figured I would try.[R-DEV]piepieonline wrote:AncientMan and I tried python already, but we found that server stability seemed to suffer, which is why we reverted back to not worrying about it.![]()
And if indeed was this your approach what do you think about an alternative were the server keeps the information based on events and not by iterating all players and after X seconds is the server that sends the information to the Master Server, instead of replying to it.

Dont question the wikipedia! Just because it reports different things on different languages does not make it unreliable source!
-
piepieonline
- Retired PR Developer
- Posts: 433
- Joined: 2009-07-22 00:41
Re: FIXED PRSPY >64p
We tried the other way, contacting the server. I don't think there would be any difference though...
Both of these methods might be worth testing again though, but we'll have to wait for other tests to finish up first probably...
Both of these methods might be worth testing again though, but we'll have to wait for other tests to finish up first probably...

-
BloodyDeed
- Retired PR Developer
- Posts: 4452
- Joined: 2008-05-07 17:43
Re: FIXED PRSPY >64p
All bf2 python programming that involves sockets resulted in lags. Seems like BF2 was never meant to support it.

-
piepieonline
- Retired PR Developer
- Posts: 433
- Joined: 2009-07-22 00:41
Re: FIXED PRSPY >64p
BloodyDeed, we did manage to get around that, using timers and stuff, so that wasn't the issue.
It appeared that the number of crashes increased, which was the issue I was concerned with.
It appeared that the number of crashes increased, which was the issue I was concerned with.

-
sirfstar
- Posts: 255
- Joined: 2011-09-01 07:18
Re: FIXED PRSPY >64p
instead of trying to re-write something in a low level or using py, couldn't you just put alongside another little server that just reads necessary things from the game server memory?
Last edited by sirfstar on 2014-12-23 22:24, edited 1 time in total.
-
UTurista
- PR:BF2 Developer
- Posts: 985
- Joined: 2011-06-14 14:13
Re: FIXED PRSPY >64p
And did you guys managed to find out what caused the crashes? Were the sockets our accessing some null objects?[R-DEV]piepieonline wrote:BloodyDeed, we did manage to get around that, using timers and stuff, so that wasn't the issue.
It appeared that the number of crashes increased, which was the issue I was concerned with.

Dont question the wikipedia! Just because it reports different things on different languages does not make it unreliable source!
-
UTurista
- PR:BF2 Developer
- Posts: 985
- Joined: 2011-06-14 14:13
Re: FIXED PRSPY >64p
If there are any server admins interested in helping this project I would appreciate.
Not sure if its possible to add python modules to the server without conflicting the PR Server License, but I'd like to try this version of the code.
Edit: Could a mod change the title of this thread to "Fixing..." instead of "Fixed..."
Not sure if its possible to add python modules to the server without conflicting the PR Server License, but I'd like to try this version of the code.
Edit: Could a mod change the title of this thread to "Fixing..." instead of "Fixed..."

Dont question the wikipedia! Just because it reports different things on different languages does not make it unreliable source!
-
The Iron Dreamer
- Posts: 444
- Joined: 2009-01-16 22:23
Re: FIXED PRSPY >64p
If the Devs gives us the go ahead, I don't think that us at =MeRk= would mind to do this test.
-
UTurista
- PR:BF2 Developer
- Posts: 985
- Joined: 2011-06-14 14:13
Re: FIXING PRSPY >64p
Bumping Thread.
If =Merk= is interested in testing we just need the Devs to say if they can test it w/o password or if needs to be "event" like.
The sooner the better.
Edit:
Following Mineral's advice I've sent PM to AM and AD
If =Merk= is interested in testing we just need the Devs to say if they can test it w/o password or if needs to be "event" like.
The sooner the better.
Edit:
Following Mineral's advice I've sent PM to AM and AD
Last edited by UTurista on 2014-12-29 15:02, edited 1 time in total.

Dont question the wikipedia! Just because it reports different things on different languages does not make it unreliable source!
- Mineral
- Retired PR Developer
- Posts: 8534
- Joined: 2012-01-02 12:37
- Location: Belgium
Re: FIXING PRSPY >64p
Save bet is just to make it passworded and tie it to another event to get +64 on the server. But PM'ing a red-tag might get you a bit further then that 
-
UTurista
- PR:BF2 Developer
- Posts: 985
- Joined: 2011-06-14 14:13
Re: FIXING PRSPY >64p
Green Light, Red Tags said it was OK to test the code in public games, no password no nothing.
Any server interested PM so I can send the (2-step) instructions.
Any server interested PM so I can send the (2-step) instructions.
Last edited by UTurista on 2014-12-29 16:20, edited 3 times in total.

Dont question the wikipedia! Just because it reports different things on different languages does not make it unreliable source!
-
The Iron Dreamer
- Posts: 444
- Joined: 2009-01-16 22:23
Re: FIXING PRSPY >64p
=MeRk= Server is running the script right now. The only thing we need is to get 64+ players on the server.
-
UTurista
- PR:BF2 Developer
- Posts: 985
- Joined: 2011-06-14 14:13
Re: FIXING PRSPY >64p
Hi everyone, I've promising news.
Today, with =Merk= running with ~80 players, the scripted was tested and no problems were detected.
During 18:49 and now, 21:24 (PRT) the server stayed in a constant ~80 players, 4/5 map changes (1k to 4k) and no player complaint about lag. The script ran every 5 seconds through a web request.
I would like to see more servers running the script to have better statistics but it seems the python module does not create LAG or increases the Crash probability.
Today, with =Merk= running with ~80 players, the scripted was tested and no problems were detected.
During 18:49 and now, 21:24 (PRT) the server stayed in a constant ~80 players, 4/5 map changes (1k to 4k) and no player complaint about lag. The script ran every 5 seconds through a web request.
I would like to see more servers running the script to have better statistics but it seems the python module does not create LAG or increases the Crash probability.

Dont question the wikipedia! Just because it reports different things on different languages does not make it unreliable source!


