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

    • Vouch for @Ave i can say im very statisfied with the order I've made he was fast and reliable i totally recommend him to anyone who wants a decent updater with high quality design.
    • What can I say other than that I’m satisfied with the order I made. The guy is reliable and very good at what he does. I recommend him 100%.
    • Lineage2 Freya High Five @ Reshade with fog and rain etc @ Gracia final epilogue atmosphere   this reshade will eat lots of GPU power 50% or more of an RTX 3060 so be carefull depending on what effects are activated and their settings will eat even more GPU recomended 60hz monitor settings and via nvidia panel in Lineage2 game profile vsync settings to on effects are set up till film deck and the rest are not used but still working again this can eat alot of GPU Don't overheat GPU this is for freya high five but might work on others too copy in the  System  folder the folder  reshade-shaders  and the files  d3d9.dll  ReShade.ini  ReShadePreset.ini  ReShade.log  CccDddCcc.ini insert opens the menu and delete is on and of some settings need  ctrl + left click  to be changed   making another profile will reset the not activated effects to their default values so just copy the profile  CccDddCcc  and rename if needed also something needs to be closed from settings in game menu, the blur at distance and advanced shaders but keeping the advanced water effects all reflections   for those that don't like the h5 look of the sky and the red fog and rain and ambien red at night on all maps well if we want the cool gracia final epilogue back then we need to do this rename the  Maps  folder to Mapsretail or whatever copy the  Maps  folder from gracia final epilogue to h5 also we need the  L2_Skies.utx  from gracia final epilogue  Textures  folder to be replaced and also we need to do the same to the files  timeenv0.int  timeenv1.int  timeenv2.int  timeenv3.int  found in  system  folder   another setting that will probably be needed but not really tested out is to open file  option.ini  from  system  folder and add cachesize like this   [FirstRun] FirstRun=2   [Engine.GameEngine] CacheSizeMegs=512   also maybe is good to change those to 4.000000   [ClippingRange] Terrain=4.000000 Actor=4.000000 StaticMesh=4.000000 StaticMeshLod=4.000000 Pawn=4.000000       sorry bad english   https://mega.nz/file/aRNXxDrQ#mbxrNERBtW0XEEezK6w8-86oZWuX1k6NgtR6RZWKRVM   the compression on the video is kinda bad but meh    
  • 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..