Jump to content

Recommended Posts

Posted (edited)

As I promised. Decompiled and built L2LogD.exe: https://drive.google.com/open?id=0B6ic1ViGkLctcXZwbm0wbDlGQ00. Feel free to test it, report issues and get sources.

 

Contains minor but obvious fixes for original L2LogD from C1. Will prepare some video with code tomorrow. All, who contributed and helped me somehow, feel free to PM for source code. For those, who still wanna contribute and get the code - there is simple reverse task, which I left: http://www.maxcheaters.com/topic/214458-l2off-l2-c1-source-code/page-2?do=findComment&comment=2641410

Edited by MasterToma
Posted (edited)

With smeli help, IL support has been completed. Tested with SINA IL Server Extender and IL client (737 with killed GG). For now there is a separate branch for it (https://bitbucket.org/master_toma/lineage2-c1-harbingers-of-war/src/312e63ca9d7f940fb11e6be1bbaf86f62eefab9b/?at=c6_ext), but I'm going to merge all changes for c1, c4 and c6 into single branch.

Edited by MasterToma
  • 3 months later...
Posted

Hi,

I repeat answer to those, who PMed me as well: I didnt abandoned decompilation, just was on summer holiday, and going to publish new code on butbucket in a few weeks.

Posted (edited)
On 4/30/2017 at 2:51 AM, MasterToma said:

Well, L2J is actually a great project, and many devs were inspired by it. The problem it's not in java, but rather in implementation details - if they would use L2OFF logic, we wouldn't have to write extenders.

 

No, it is not.  It has collectively lowered the bar for Lineage II -- to the point any moron can open a server.  Having been around since the start (l2off) and breaking in 2012 to return now.. the sorry state of Lineage II as whole... one only need look as far as the million java servers existing today.  Whatever L2J inspires?  Perhaps great things like idiot server owners paying big clans to play on the server.  Talk about inverted logic.

L2J will never be, or replace L2off or extenders... just as the level of skill required to create an extender... C/C++ and solid Intel asm knowledge vs a language that every "comp sci" wanna be is taught.

Mm, and oh - congrats on your reverse engineering.  I did the same years ago  of malware rootkit driver Rustock B & C.  IDA -> C source, 100% working.  I will commend you for that.

Edited by Fyyre
Posted
1 hour ago, Fyyre said:

L2J will never be, or replace L2off or extenders... just as the level of skill required to create an extender... C/C++ and solid Intel asm knowledge vs a language that every "comp sci" wanna be is taught.

It could have if l2j was actually started properly, and it still could be but I guess people won't spend that kind of time anymore. Even today, numerous l2off dev switched to l2j and try to make the shit right.

Posted

the issue is the players don't care so why should the server owners  / pack devs... like fyyre said the bar has been lowered and the bugs and just dumbassery of l2j is universally accepted by players as just what private servers are like cuz 90% have those issues, between shit geo engines which put u in the ceiling or show "cannot see target" all the time and universally incorrect algorithms and formulas for skills and the #1 thing which drives me fucking nuts is static point spawns for npcs - all of this shit is just accepted by players because that's just how private servers are right?

my work in l2j has shown 1 thing predominantly, it's a constantly losing battle between devs who actually know what they're doing and know what it should be, and the devs who are out there to make 5$ on a system they copypasted together which does 60s sleeps for an event queue in the main thread pool and uses CopyOnWriteArrayList for a write-heavy container like for every decent dev there's probably 20 shit ones fucking things up and i don't see that as likely to change

Posted (edited)
16 hours ago, Sdw said:

It could have if l2j was actually started properly, and it still could be but I guess people won't spend that kind of time anymore. Even today, numerous l2off dev switched to l2j and try to make the shit right.

What l2off devs mate?  I can count maybe 10, and all but 2 or 3 have retired...  Although I will says props to eressea for her open source extender.  L2 needs more people like her.

I know you did great things with L2JUnity, even if I still think Nos is a little bitch *grin*

Edited by Fyyre
  • Like 1
Posted

He retired as well but we still spend mucho time RE. Starting from L2J allows to have simulation of working feature till we replace it. It feels endless but less broken in the end and one day we will call it L2 :D

Posted
On 10/14/2017 at 8:49 AM, Sdw said:

He retired as well but we still spend mucho time RE. Starting from L2J allows to have simulation of working feature till we replace it. It feels endless but less broken in the end and one day we will call it L2 :D

Makes sense.  I do remember him starting RCE.  He is a smart guy, he will go far.

  • 2 weeks later...
Posted (edited)

Hi all. As I promised, I've returned. A lot of L2CacheD infrastructure code has been revealed and published. Main thing left - model-specific code, which contains logic, and L2CacheD <-> L2Server packet handling.

As some of you might now, there are about 220 packets in L2CacheD : Server protocol. But the good thing is, that 59 of them (almost 1/3) doesn't need any complex logic to decompile.  For exaplme, packet with Id=128:

// ADDRESS (0x004365F0)
bool __cdecl packet128_RequestDeleteCropData(CIOSocket *pSocket, const uint8_t *packet)
{
  guard(L"static bool RequestDeleteCropData(CSocket* pSocket, const unsigned char* packet)", L"static bool RequestDeleteCropData(CSocket* pSocket, const unsigned char* packet) (exit)", L"Socket.cpp", 8042);
  
  PacketUtils::Disassemble(packet, "dd", &v4, &v6);
  
  DBConn sql;
  sql.Execute(off_4F0B58, v4, v6);
  
  unguard();
  
  return false;
}

As you can see, it's very simple - read 2 ints from packet, and execute some SQL query. All is needed to commit file - manual clean up (it's done in the snippet above), variable renames (might be taken from SQL query itself), etc. For sure not a rocket since.

So, I'm looking for people, who want to help and contribute to this project (all sources are available, link in the first post), by decompiling very easy packets (while I'm doing more dirty job). You can check all packets here.

Right now there are only stubs, no real logic inside. Contact me, I'll send you details. 

Edited by MasterToma
  • 1 month later...
Posted

Almost all model is decompiled, fighting only with warehouse logic.

Still looking for skilled devs, who wanna to contribute. L2Server/Admin handlers are waiting for you! :D 

Guest
This topic is now closed to further replies.



  • Posts

    • For the first time in thousands of posts I've read on this forum, I’ve actually found a message that is enriching on both a personal and professional level. I’ll take your advice to heart: I’m going to start creating more and stop overthinking things that get me nowhere. I totally agree about the toxic community; it's a shame. Time to keep working. Thanks a lot for your input.   Exactly, that’s why the Scryde method and their merge system work so well. People don't lose their progress and can still keep rushing new servers. Obviously, gameplay has mutated into something much faster-paced, but obviously, this happens in real life too, everyone is more accelerated and on edge. Thanks to social media and mental conditioning. But, well, it’s something we have to accept. Don't even get me started on gambling and online casinos; that’s a whole other topic regarding all the P2W servers.   Really, amen bro.
    • Hello, the server lifespan isn't something that only affects Argentina; just look at the South American and European communities. Those distant days you mentioned, when we were younger, which I completely agree with, are long gone. Today, the community plays RUSH for 30 or 60 days and seeks the adrenaline rush of starting over. As for free or paid packs, there are many options, but in all of them, you'll have to create your own unique style.  
    • Introducing: NimeraCP V2! What's New: Realtime Tickets (Receive + Send messages without refreshing page, instant delivery to player) Powered by WebSockets Realtime Rankings/Stats (Receive instant updates without refreshing page) Powered by WebSockets - PvP/Boss Rankings/Clan Rankings etc... oAuth Login + Register (VK, Discord, Google) Two Factor Authentication (Authenticator App) Passkey coming soon! Theme Editor New Arcade Game: Rock Paper Scissors Let players gamble wagering their topped up wallet balance! Discord Webhooks: Receive messages to discord via Bot or Webhook for certain events New Player registration New Payment received New Ticket Opened and more Complete UI Overhaul NimeracCP V2 is now fully multilangual supporting the following languages: English Ελληνικά Português / Brasileiro Español Русский Українська 한국어 Onboarding: Easy installation wizard via /onboarding on first use of the panel for easy installation. Feature Flags: You have full control over the UI. Disable/Enable pages + features via Admin CP CloudFlare R2 Bucket integration: The panel comes with Bucket storage integration for all kinds of assets uploaded to the panel.   A new website shop at https://nimeracp.com/ is also coming soon, including full installation docs.  You can join the discord for further updates/questions: https://discord.nimeracp.com/
    • thanks for choosing me ! 
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock