Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won

  • Feedback


MasterToma last won the day on October 14 2017

MasterToma had the most liked content!

Community Reputation

30 Excellent


About MasterToma

  • Rank

Profile Information

  • Current Mood
  • Gender
    Not Telling
  • Country

Recent Profile Visitors

1,099 profile views
  1. First you published them (3 times only on this forum), then you wrote to me "I didn't want, sorry. It's my mouse clicked, it's not me!" Please, stop excuse yourself, it sounds miserable. I quit
  2. @guytis, you missed something. When I shared that stuff with you, you wrote me many many times, that you will never share it without my approval. That's the key. I have full skype of your swears, that you would never share it. I can't demand you to contribute. It's your decision. You can leave. No-one contributes to project JUST from scratch. I always GIVE more, and GIVE first. And when you decided to quit, instead of leave/stop working on project, like other (you get a lot for nothing), you started blaming me, cursing and blackmailing me. I don't care about pathetic persons like you. My comments here are just a warnings for other, that your word costs nothing, and that you are quite sneaky. Warnings, nothing more. You started this PR, and did bring it to public. PS: just few works about my status (not related to topic, but to my work): I'm going to publish original NASC for C4 in few weeks. There are plenty of my leaks here and there, but I'm not going to stop my work, because it's my hobby ;)
  3. Check my shares and contributions (1, 2, 3, 4, 5, 6, 7) and the gustavo ones. He didn't share anything apart from this work. Now ask the question - would some one share his job? Maybe, but not the gustavo. 95% of shared content belongs to me and ppl from CONTRIBUTORs file (old one, from 06.2018, nowadays more ppl helped me, including @zconll and other) Master Toma <master.toma87@gmail.com> Smelyj # helping with porting AuthD to support C1-C4, C6 client protocols with extenders (based on C1, like SINA) Volodymyr Melnychenko <lordofdest@gmail.com> # porting numerous of CacheD packeet handlers Renege # porting all admin packets, BBS packets Pulentolento <pulentolento@gmail.com> # Supported on CacheD admin packet handlers And Gustavo is missed there, since he did nothing. After few months of guiding and helping, gustavo finally completed copy-paste from C1 to C4 IDA to LogD and AuthD with my overview. Then I fixed most of C4 new methods. I prepared CacheD C4, sent it to him together with C1. But then gustavo imagined, that he is a King of RE, and would be able to decompile it by himself. So he ignored me for 2 months, saying that his grandma was sick, etc etc. And then he wrote that I exploit every one (hey, c'mon, whom did I exploit? Please write here in that topic!). Check the dates of files, especially C4 IDA's - they are all old, mostly done by me. C4 CacheD is 100% of mine (even thought it's quite empty - no value at all). Few days ago he was pissed off, since he realized, how miserable his RE/C++ skills, and I declined to help him. He tried to blackmail me, writing that he would share this stuff. I don't care much about this share, since one should be quite intelligent to use it. This PR should remind you how sneaky gustavo is. Now listen to his lie, since he didn't have literally anything to say. Cheated, lied, shared. Be aware of this guy. He will do the same again.
  4. @Espanka, I shared them 2 years ago, but closed share, since a lot of ppl violated conduction while used sources. To join project now, you have to do contribution (help). But it requires C++ skillz
  5. MacroCompiler is fully restored now and works like original one from C0.
  6. SINA from @smeli https://drive.google.com/drive/folders/1BRVLf_z52FC0sGbT9iyvWwLWs_QLt0JQ You can get all data from there (e.g. l2_c1_sina2017.7z) , and use my fixed services
  7. There is no data pack in my share, you can use SINA one, it's compatible. I'm only sharing binaries with fixes
  8. Hi, I want to say thanks @zconll, who did deep testing of my components, and found few bugs in L2NPC and CacheD. All of them are fixed, so if you used my C1 pack, please, do the update. Original C1 bugs are not fixed, since they required changes in L2Server, which is still not completed. PS: I also added L2NPC C2 (actually, it's C1+), which has few C2 AI functions for enhanced AI scripts. NASC from C2 directory supports those as well.
  9. One comment skill_hit_time and reuse_delay depends on is_magic in the following way (e.g. reuse_delay): if ( is_magic == 1 ) { reuseDelay = user->m_reuseDelay / user->sharedData->baseMagAtkSpd * skllInfo->m_reuseDelay; } else if ( is_magic) // e.g. 2, 3, wahtever apart from 0 and 1 { reuseDelay = skllInfo->m_reuseDelay; } else { reuseDelay = user->m_reuseDelay / user->sharedData->basePhysAtkSpd * skllInfo->m_reuseDelay; } Taken just from C1 IDA. That it, skill reuse delays with is_magic=2 are not dependent on mattack speed
  10. There are IO buffer pools, limited to 4, 8 or 16 instances (depending on your machine and chronicles) and the same amount of IO threads. So simultaneously you can send 4 or 8 or 16 packets. And if you have 100 ppl online, at the 00:00 EXTRA 100 packets will be sent (apart from other packets, which are sending or queued for sending). Also, for L2Server MAX IO thread number depends on number of (virtual as well) processors. So, if you have machine with 4 cores, you will have only 4 IO buffer pools and 4 IO threads. This is pretty the reason for lag. Also, network throughput might be an issue as well. Bot most probably, both.
  11. 00:00 and 06:00 are sunrise/sunset events - there are broadcasts to ALL users. This might be a bottleneck
  12. Great! Btw, just if you missed - there are C1 services with fixes :)
  13. Why does it ask for l2comm... Write lin2db after cleaning the registry.
  14. Hi, As you know, there is no separate "Admin" socket for GM. But iv you send packet 00 (Version) with negative values, it will dump some information: import socket import struct port = 7777 # client accepting port host = '' # game server IP clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) clientsocket.connect((host, port)) # Preparing request my_bytes = bytearray() # size my_bytes.append(7) my_bytes.append(0) # packetId my_bytes.append(0) # -3 my_bytes.append(253) my_bytes.append(255) my_bytes.append(255) my_bytes.append(255) clientsocket.sendall(my_bytes) # Response unpacker = struct.Struct('h') size = unpacker.unpack(clientsocket.recv(unpacker.size))[0] - 2 #print "got packet with payload's size: %s" % size data = clientsocket.recv(size) #print('Received', repr(data)) # format: cdddddS unpacker = struct.Struct('<bIIIII') # c i i i i i msgId, npcConnected, maxUsers, usersConnected, usersPlaying, privateStores = unpacker.unpack(data[0:unpacker.size]) str_unpacker = struct.Struct('%ss' % (size - unpacker.size)) stats = str_unpacker.unpack(data[unpacker.size:])[0].decode('utf-16') print('msgId: %s, npcStatus (2 - Off, 1 - On): %s, maxUsers: %s, usersConnected: %s, usersPlaying: %s, privateStores: %s, stats (free memory, allocated objects, free pool slots, server Up time minutes): %s') % (msgId, npcConnected, maxUsers, usersConnected, usersPlaying, privateStores, stats) And results: This doesn't work for C4, they changed format a bit. But if you have IDA, you can check yourself