ishitatsuyuki / LatencyFleX

Vendor agnostic latency reduction middleware. An alternative to NVIDIA Reflex.
Apache License 2.0
810 stars 22 forks source link

Confusion about finding UE4 Hook offset for Splitgate #12

Closed neilunger closed 2 years ago

neilunger commented 2 years ago

The readme instructions for setting up the UE4 Hook offset say to run this command: readelf -Ws PortalWars/Binaries/Linux/PortalWars-Linux-Shipping.debug | c++filt | grep FEngineLoop::Tick

However, PortalWars-Linux-Shipping.debug does not exist for me. PortalWars-Linux-Shipping does though. When running this command on PortalWars-Linux-Shipping, it returns nothing. However, running readelf -Ws PortalWars/Binaries/Linux/PortalWars-Linux-Shipping | c++filt | grep FEngineLoop (without the ::Tick on the end) returns:

10585: 0000000000ae11c8 56 OBJECT GLOBAL DEFAULT 11 vtable for FEngineLoop.

Running readelf -Ws PortalWars/Binaries/Linux/PortalWars-Linux-Shipping | c++filt | grep Tick (without the FEngineLipp on the end) returns an extremely large amount of variables, and running it with ::Tick or ::tickalso returns nothing.

Would ae11c8 be the offset then? I'm concerned about the absence of the .debug extension in the file name, and concerned about the absence of the ::Tick() extension in the readelf... command.

Also, is there no concern over getting banned in Splitgate for using UE4 Hooking? Splitgate, even on linux, uses EQ8 anti-cheat. However, in the table of tested games in the readme, only Apex and Overwatch have anti-cheat warnings on them -- not Splitgate. Is there a reason these games have this warning, but Splitgate doesn't?

ishitatsuyuki commented 2 years ago

Splitgate, even on linux, uses EQ8 anti-cheat.

EQU8 does not support Linux. 1047 simply ships their game with anti-cheat disabled on Linux.

Looks like they stopped shipping debug symbols for Linux. (That's a legitimate way to save 1GB on the game files.) In that case, there's no easy way to figure out the offset. I haven't played the game for a while, I'll remove the game from the support table.

neilunger commented 2 years ago

I see, guess that solves why. Thanks for the help!