-
Posts
158 -
Joined
-
Last visited
-
Days Won
5 -
Feedback
100%
Content Type
Articles
Profiles
Forums
Store
Everything posted by MasterToma
-
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
- Original bug in C1 binaries, that led to deadlocks !!! deadlock or super-lag detected!!! !!! deadlock or super-lag detected!!! has been fixed - AuthD is fixed to work with original clean L2 C1 client - CacheD model is completed - admin handlers are almost completed - server handlers are almost done (60 left out of 220) In order to get access to latest code snapshot, you can help us with CacheD testing. I will send you our binaries, you have to find bugs which are not present in original CacheD, if we will be able to reproduce it, I will share you latest snapshot -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
yes, it's been closed. As I wrote during last year, when CacheD is compleded, I would close it, and only those, who contributed, would get the access to the code. -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
Hi all! Great news! 84 packet handlers out of 220 were revealed by lordofdest. This allowed us to enter the game with decompiled CacheD! I'm still working with WareHouse methods, but from now, CacheD can be tested and used with original L2Off server. -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
Hi, Small report. Only 6 methods left in CWareHouse (but huge enought, each took me about 4 days to decompile). Today I've decompiled 17 packet handlers from CacheD packet027_RequestLoadPledge packet034_RequestLoadAllCastleData packet035_RequestLoadAgit packet074_RequestSetPledgeInfo packet082_RequestLoadDismissReservedPledge packet105_RequestLoadDoor packet107_RequestSaveDoorStatus packet131_RequestGetContributionRelatedPledge packet172_RequestGetDbRelatedCounts packet173_RequestLoadAllPledgeWar packet192_RequestSetNextCastleSiege packet196_RequestLoadCastleGuard packet197_RequestLoadAgitBid packet198_RequestLoadControlTower packet213_RequestLoadIntervalAnnounce packet218_RequestLoadLastResidenceTax Those ones are sent from L2Server.exe during startup. Now original C1 L2Server.exe successfully connects with decompiled CacheD. So, basically, only packet handlers left. I'm still doing all the stuff alone, but packet handlers are extremely easy. I've did 17 of them just in 3 hours. If you know C++-like language, you are welcome to contribute! -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
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 -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
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. -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
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. -
Discussion Which Extender To Choose
MasterToma replied to ubereizen's topic in Server Development Discussion [L2OFF]
He sells extender. What do you expect? :) -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
L2LogD sources were published L2AuthD from devel branch is built into 3 binaries: for c1, c4 and c6 support. -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
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. -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
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 -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
During testing L2LogD, one more fix for origin L2AuthD.exe was added: https://bitbucket.org/master_toma/lineage2-c1-harbingers-of-war/commits/a7b736d7641348e7592e25c2018db5b338a6e5fc Now L2AuthD.exe sends proper DB audit type for L2LogD. Looks like this bug in C1 AuthD was due to some incompatibility. -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
L2LogD source code will be ready on weekend. There will be also some minor but important fixes for PerfMonitor, ports, etc. About 90% of binary is decompiled. However, I need some help here. What is not finished yet: 1. Memory allocator units (you have to be skilled enough, to define structures and provide proper names to members, variables and methods). 2. More easier task. L2LodD.exe has 3-5 methods for parse item.dat, skills.dat, etc. I didn't touch this functionality yet, left it for volunteers. It shouldn't be complicated, since structure of those files is known, so it might be a good task for beginners (ofc, you have to be skilled in c++ still). If you want to help me, I could send you my IDA database for L2LodD.exe. It contains all structures, renamed methods, etc. I will share sources (L2LogD and other in future) for all, who take participation. -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
I'm working on BCP (bulk copy from log files to MSSQL server) feature from LogD binary. It has quite sophisticated logic, related on files from chat/ and in/ directories. I would appreciate, if you could sent those log files for test purposes to master.toma87@gmail.com. I want to test different combinations. Ofc, all those data will be used confidentially -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
I see, I've just didn't found any mention of this file configuration for LogD, and thought that bug is for x64 system only. -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
I found "hidden" feature in LogD.exe - performance monitor. perfmon.ini is needed to activate it. It checks for RAM usage, Processor's usage, etc, and adds results to DB Original L2LogD.exe has problems with x64 PC (which I have). I'll fix it, but meanwhile could anyone check it on x86 PC? perfmon.ini file to be added in root, near to L2LogD.exe: [PerfMon] CheckPerfMon=1 Count=1 Interval=6000 Memusage=1 Perf1Title=Title Perf1ObjectName=Processor Perf1InstanceName=0 Perf1CounterName=% Processor Time -
Share [Client Installers] From Prelude To C6
MasterToma posted a topic in Server Shares & Files [L2OFF]
Hi, As in title, I've dumped Prelude .. Interlude installers -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
Two branches were added: with changes for C1 and C4 client https://bitbucket.org/master_toma/lineage2-c1-harbingers-of-war/branches/ Tested with C1 Client and C1 SINA server + C4 Client and l2server_fyyre.exe server. Thanks smeli for help. -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
Filters added to the MSVS project. See first post for details. -
Why are you afraid of kids? They couldn't do anything worthy. And if they would, some of them might upload it for free as well. Better have 95% / 5% shitty/worth opened code, then doesn't have it at all, no? I've started contributing L2 C1 code, mainly because of L2 community (xeL, smeli, Outlaw who played on my server :D and other). Would you like to see it closed in private repo and being available for purchase only? Amazing work should be available for everyone. And only amazing team might create amazing server, all other will create one-week servers, but learn something.
-
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
Reverse of L2LogD.exe is finished, all classes are defined, except for Memory allocator package. I'm exporting code and working to make it compile. I think, it might take next month or two. This is in private repo so far, so PM me if you contributed, and want L2LogD sources earlier. If someone wants try to reverse memory management unit - you are welcome, I can share IDA file (be sure you have some reputation, though). Otherwise, I think, I will use some 3rd party allocators (they are used for std and IO buffer pools in L2LogD) -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
MSVC 2008 support is added to the legacy branch -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
you can use Cmake to generate whatever project you want, even code blocks or NMake Windows files. I'll download MSVC 2008 and try it. You can send me errors in PM, or create issues with errors on bitbucket. -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
MSVC has very poor support of C and C++ subset... <cstdint> is supported from MSVC2012. Unfortunately, I haven't tested it on 2008. I will add this as a comment, thank you. @smeli, I think, you won't be able to compile it with old versions of MSVC, since I've used C++11 (auto for iterators) and cstdint header for typedefs. Note, that it's not an "extender", so you are free to use new compiler, you are not bound to 2008. However, feel free to make a merge request to keep legacy branch compatible with older compilers. All new features are done in new devel branch, including migration to C++xx -
Share [L2Off] L2 C1 Source Code
MasterToma replied to MasterToma's topic in Server Shares & Files [L2OFF]
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. It's available in asm code, but you can't use it out of box, since someone have to decode asm-code and give meaningful names to methods and variables. It's the hardest job. Just to make it clear. I provided code for only L2AuthD, based on C1 (because many of L2AuthD extenders work on this binary) so far. But from what I've seen - it's quite easy to add IL support (based on sina's open source extenders or some others). I would say, it's a matter of few days ofr an experienced developer. I'm not aware of GF and other auth mechanics, since I'm experienced with IL mainly. I'm decompiling right now on other parts (from C4). Having source codes of extenders (there are some opened), I would estimate adding support for IL for few months. Since I'm focusing on decompilation, someone other should take care of porting extenders asm hooks to current code base. That's why I opened my achievements and posted it here :) Would be nice to have Vanganth code opened (since he stopped active development http://www.maxcheaters.com/topic/207258-interlude-project/), or at least shared - having this, would give us very stable and robust IL + GF.
