[7.0] Fully unobfuscated client source & more!

Posts 1–15 of 32 · Page 1 of 3
[7.0] Fully unobfuscated client source & more!
Hey, I'm Skilly and I made this client back in august, wanted to see how much performance I could squeeze out - could do more. Perfect for pservers and developers that want to learn more about the client source (huge chunks of code here are identical to today's clients, only that today's clients are obfuscated!).

Server source made to work with this client out of the box available here: https://www.mpgh.net/forum/showthread.php?t=1484104
Credits for using this client and/or server source (though that's mainly just NRCore) are appreciated, but not necessary.


My additions
  • Hardware Acceleration integrated
  • Ability to turn off 'eye candy' particles
  • Many optimizations
  • Many bug fixes
  • Custom .SOL and game options locations
  • Tab switching hotkey
  • Skins are an .XML like in new clients, not part of app/init like the original 7.0 client
  • Health bars
  • Fixed weird merchants in the 7.0 leaked client
  • Made scrollbars work with mousewheel (surprised this wasn't already a thing)
  • Added options to disable ally shots/damage/notifs etc
  • Removed queued status effects, they all appear instantly now
  • Removed Google Analytics
  • Removed any kabam/steam/kongregate stuff
  • Removed any surv3y/payment related code
  • Removed packages
  • Removed boosters (xp, loot, tier)
  • Removed unused asset files (images & xmls)
  • Removed remote textures
  • Removed all build environments, simply edit ReleaseSetup.as to your liking
  • Removed additional request queries that are not used
  • Removed map loading animation in the main menu that eats your processor
  • Removed zombification & brought back normal ammies
  • Removed potion purchasing
  • Removed protips
  • Removed debug console of the leaked client (just use the IDE debugger)
  • Removed age & email verifaction, not really needed
  • Maybe I removed some other stuff too (?)


7.0 client core
  • Fully unobfuscated
  • No pets
  • No language strings
  • Skins
  • Backpacks


New clients aren't as obfuscated as old ones, so the main difference between this client, and one's released today, is that this one has all original/correct variable/parameter names, very useful for development, no guessing what everything is.

Flex 4.6 was the SDK this client was developed and tested with, others might work, might not work, didn't test, feel free to do so.

 
Video showcasing hardware accel.


realm-client_mpgh.net.rar3.3 MB · 404 downloads Clean
nice work dude
I've been looking for something like this for ages. No more 27.7.X2 deca client!!
Maybe its finally time to make Vengeance Realms?
how to setup localhost i getting error cant connect 127.0.0.1:80
Quote Originally Posted by 12345maiza View Post
how to setup localhost i getting error cant connect 127.0.0.1:80
depends what you are trying to do, are you trying to use for a private server? if that's the case check out his source he has uploaded in the private server section that was made to be most compatible with this client source
do you have a contact or anything email to ask some questions?
Quote Originally Posted by masonbot19 View Post
do you have a contact or anything email to ask some questions?
You can private message me on here, however if it's about setting the source up, you can use this tutorial https://www.mpgh.net/forum/showthread.php?t=1370287.
You can skip some steps like adding in resources/dungeonGen as that's included in the 7.0 NR Core version anyway. If it's not about setting the source up, feel free to PM me.
why is your hardware acceleration 1000 times better than the official clients?
Quote Originally Posted by DINTELBOTS View Post
why is your hardware acceleration 1000 times better than the official clients?
For several reasons, there's optimizations which prevent the CPU from running at it's full power at times (HA reduces that even further), the client can handle more projectiles, etc. On prod, there's instances where the CPU cannot keep up with the GPU because it has to process too much, thus slowing down. There's instances on this client also - you can push anything to its limits -, just harder to achieve, the client generally has a lot less content, features, and is very stripped up, it's gonna take a lot more to kill the FPS than on the newer clients... The client can actually smoothly handle 144FPS (and probably more) if you increase the cap which looks pretty epic (don't quote me on this though, I've done a lot more clean up and some optimizing past this release, so this version might be a tad bit slower).
looks good, nice work

if you'd like to optimize this further:
- implement ecs (example being richardlord/ash on github)
- port projectile collision to gpu (might not be feasible on flash, but you can always just switch sdk to air and make it in c++ with an ANE)
- gpu rendering improvements: cpu-gpu talking is pretty heavy, only interact with context3d/stage3d if you actually need to (check for whether there's delta, example being the constant cull setting in renderer.as that's completely pointless)
- remove/make the loopmonitor hog less resources
- probably more i forgot, use adobe scout to profile the rest out (https://helpx.adobe.com/scout/kb/dow...-scout-cc.html)

but at some point it's just better to spend the effort on porting to a platform that has actual support, updates and tools, unless you're doing it for the challenge
Quote Originally Posted by FlutterM4rk View Post
looks good, nice work

if you'd like to optimize this further:
- implement ecs (example being richardlord/ash on github)
- port projectile collision to gpu (might not be feasible on flash, but you can always just switch sdk to air and make it in c++ with an ANE)
- gpu rendering improvements: cpu-gpu talking is pretty heavy, only interact with context3d/stage3d if you actually need to (check for whether there's delta, example being the constant cull setting in renderer.as that's completely pointless)
- remove/make the loopmonitor hog less resources
- probably more i forgot, use adobe scout to profile the rest out (https://helpx.adobe.com/scout/kb/dow...-scout-cc.html)

but at some point it's just better to spend the effort on porting to a platform that has actual support, updates and tools, unless you're doing it for the challenge
Out of the scope of this project.

ECS would be beneficial, but that would require significant changes.

Projectile collision is fine as is, I'm highly doubtful that porting it to work on the GPU would improve anything, would probably make things slower, simple distance checks are very fast calculations.

CPU/GPU talking is very heavy yes, a lot of improvements could be made to signficantly help that, but again, significant changes, not worth doing here.

Removing the loop monitor is something I did past this release, but the point of this project was to really just get a 7.0 client going. I just didn't like some of the things 7.0 had. If someone is looking to really get a performant RotMG client going, just start your own project.

- - - Updated - - -

Quote Originally Posted by Daemonmann View Post
where can i download the flex sdk 4.6?
Probably many places, I always just went to this thread: https://www.mpgh.net/forum/showthread.php?t=903758

- - - Updated - - -

Quote Originally Posted by masonbot19 View Post
Can we dm for help on it?
Feel free to PM me here, or just reply. If you need help setting up the client, then I guess the link I posted quoting Daemon should help you with that, and if you're struggling with setting up the server, you can try following the default NR Core setup guide.
where can i download the flex sdk 4.6?
Posts 1–15 of 32 · Page 1 of 3

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?