Jump to content

TMP4

Contributor
  • Posts

    1112
  • Joined

  • Last visited

  • Days Won

    20
  • Feedback

    100%

Posts posted by TMP4

  1. So you took Livaria2 leaked serverfile from TurkMMO and it's not working because the leaker missed a module named livaria2appmodul, so you came to Metin2Dev to get help where this serverfile does not even published.

    If you are a complete beginner why did you choose such serverfile? There are a lot more serverfile to choose from what workng "out of box" even in TurkMMO with pre installed systems. (The quality is another thing.. ?)

    If you really need this serverfile check the source code where does this livaria2appmodul are called and if it's really needed. Maybe it's not even needed and you can remove it's call safely.

    • Love 1
  2. I was always wonder about the first one. That is totally different from the others, not just a recolor and feel very very professional.
    Also I think that was the first in the timeline too if we talking about when these armors came public.

    Anyone know it's origin? Official or made by a very talented artist back in the time?

    • Good 3
    • Love 1
  3. 46 minutes ago, snake4game said:

    @ TMP4 Yes , i edit all config cuz with 127.0.0.1 kick me out from selecting character , it need to be 127.0.0.1 on all configs ?

    That is a networking issue, and editing the DB_ADDR: 127.0.0.1 to your public ip will not solve that at all.

    Check this:

    But the best is that run your live server from a vps since that does not have internal ip so it's public ip will be fine.
    Explanation: If your server run under a router from home, it will have a 192.168.x.x ip address as public ip and not your real public ip, so it will allow connects from your local network.

    Edit: 

    46 minutes ago, snake4game said:

    Sorry for my idiot question , it works now with localhost , problem was from mysql user ...

    Alright, no problem ? 
    Yes it should work in localhost, but if you want your friends to join, you need to deal with the internal ip problem I talked above or use a vps.

  4. 7 hours ago, snake4game said:

    I have a little big problem xD

    Nov 12 03:01:01 :: ItemIDRange: returned. 0 ~ 0
    Nov 12 03:01:01 :: ItemIDRange: Build 0 ~ 0 start: 0	NOT USE remain count is below 10000
    Nov 12 03:01:02 :: PORT_SECURITY: BLOCK CONNECTION FROM xx.xx.xx.xx
    Nov 12 03:01:02 :: Connection closed. (host: _vnum4, skill_level4, sp_berserkÿÿÿÿ)

    xx.xx.xx.xx means server ip . It is from db syslog .

    Server is starting but when i try to login keep me on Connecting to server ...

    It is the port security. What I wonder how did you get your public ip there, it should be localhost only. (127.0.0.1) Did you modify config files 127.0.01 to your public ip? Please tell me I really wonder...

    Anyway db/peerbase.cpp

    Spoiler
    #ifdef ENABLE_PORT_SECURITY
        if (strcmp(inet_ntoa(peer.sin_addr), "127.0.0.1")) // refuse if remote host != localhost (only the same machine must be able to connect in here)
        {
            sys_log(0, "PORT_SECURITY: BLOCK CONNECTION FROM %s", inet_ntoa(peer.sin_addr));
            Destroy();
            return false;
        }
    #endif

    You can comment / remove it but I do not reccomend it.

    @snake4game did you edit these to your public ip?

    DB_ADDR: 127.0.0.1
    [...]
    PLAYER_SQL: 127.0.0.1 metin2 password player
    COMMON_SQL: 127.0.0.1 metin2 password common
    LOG_SQL: 127.0.0.1 metin2 password log

    If you did, why? You really shouldn't what's more you should not let db's port publicly available because that is a security risk.

  5. 1 hour ago, CjMt2 said:

    "WARNING: FreeBSD 12.0-RELEASE HAS PASSED ITS END-OF-LIFE DATE.
    Any security issues discovered after Sat Feb 29 00:00:00 UTC 2020
    will not have been corrected."

    I just hope you dont want to run your live server from a vm.

    I may update the vm, but its not priority since 99,99% of people using that for localhost testing, not to mention people who still use FreeBSD 9.2 ?

    Spoiler

    Btw for base I took Mali's source with VM thats why its 12.0.

     

    • Good 1
  6. 16 hours ago, Draveniou1 said:

    As said. is on specific servers you may not have this problem

    I made the post for those who have this problem

    It is good to put this fix

     

    But we can see if you have this problem

    Nice, I'll send the IP and the login in DM for you. Please download the client from here: https://metin2.dev/topic/27610-40250-reference-serverfile-client-src-15-available-languages/ and edit the ip in serverinfo.py what I give you.

    Edit: We tried and the conclusion was that it is not possible to hack a serverside GM affect in a basic source ? 

    • Good 1
  7. 16 minutes ago, Draveniou1 said:

    I will not post about how you do it because surely many do afterwards. If you decrypt metin2client.exe and create a separate package that signals the login after everything is done I have also tried it on many servers that have been built. I just posted it for those who have this issue

    You do not have GM code, the problem is that you have GM effect

     

    @ TMP4  if you do not have such problems then you will not do this fix ?

     

    I have a VPS with a test server, I can give you a test account and the client (same as this, you can have source too...), will you join and prove your words that you discovered something what no one else did since a decade?

  8. 4 minutes ago, Draveniou1 said:

    in this way I solved my problem

    And I thought it would help more users who have some problems, so I posted it

    What is your answer about including a sample code?

    1. Yes you will 
    2. No, you can't

    If you include one to prove there was a real serverside GM affect hack what no one has discovered for more than decade, I'll apologise!

    • Good 1
  9. 2 hours ago, Draveniou1 said:

    We who tried packet hack can not have [GM] effect also make this correction and try packet hack in [GM] effect

    Cannot hack packet on GM Effect

    Correct  and try to hack packet [GM] effect and then tell me if players can hack with GM Effect through packages

    Try hacking the GM effect and tell me later

    There is no packet hack for getting a serverside GM affect as a player. As I said I never saw anything like that in any server, and if your server's players could really get one, you have a big trouble in your source. If you believe there are any hack like that, once again include a sample code. (You can't because it is not exists, but if you will and it's working I'll apologize)

    There are only a clientside SetAffect function JUST VISIBLE FOR YOU what is totally different from the char.cpp's if(GetGMLevel() > GM_LOW_WIZARD) { m_afAffectFlag.Set(AFF_YMIR);... check because it only happens on clientside.

    Not to mention Gurgarath is totally right, you are not doing anything on char.cpp besides you take away the GM affect from GM_WIZARD because that is number 2 and not 3.

    Spoiler

    I appreciate you trying to add to the community and I don’t want to offend you in any way, but you’re simply wrong a lot.

    • Metin2 Dev 1
  10. The GM logo hack are not coming from a serverside error. There is a totally unnceserry SetAffect function in the client what allows players to have GM logo, but only they can see it, others can't, it's just visual. You can remove it in PythonCharacterManagerModule.cpp

    { "SetAffect", chrmgrSetAffect, METH_VARARGS },

    But once again, that is only a visual hack in clientside, nothing serious. If your players really can claim a real GM affect in serverside then you have a much bigger problem...

    Quote

    he could count from LOW_WIZARD to the point in order to do the opposite and count the players as [GM] with the hack

    If they actually could do such magic in your serverside then they could use GM commands in the same way, since the command's check works the same:

    if (cmd_info[icmd].gm_level && cmd_info[icmd].gm_level > ch->GetGMLevel()) // cmd.cpp, it's the same because cmd_info contains gm_level like GM_LOW_WIZARD....

    I know you'll write that it is how you fixed and you have 1.000 players but at least provide us a sample code for that magic svside hack because at this point you are drinking wine and preach water.

    I'm playing Metin2 more than 10 years but I never saw a single server where a player could actually get a REAL serverside GM affect.

    • Lmao 2
    • Love 2
  11. 6 hours ago, CsanMag said:

    And I have this error when I start:

    I dont know what it is, i can log in fine to mapindex 41 but do you know what it is how to solve this?

    Oh and thats in game2 syserr!

    Edit: I found the error, I used Shogun's SQL tables for object_proto: 

    And he modified the object_proto for a good reason: with the original reg_1-2-3-4 values it is hard to place objects.
    However his 10 and -10 values are not good for the sectree for some reason. I took the official values and the syserrs are gone. But it's harder to place objects now so I cut half every value (ex: reg_1 = reg_1/2 and same with reg_2-3-4) and it's much better to place object and thy syserr is still clear.

    Please use this object_proto table: 

    This is the hidden content, please

    I'll include this in the next update.

     

    • Metin2 Dev 5
    • Think 1
    • Good 1
    • Love 13
  12. 3 minutes ago, CsanMag said:

    Hello @ TMP4 can I get some assistance? Already spent 3 days to try making it work in a vps but the channels do not starts. Wrote to you in discord please check it.

    Believe me i coped so hard i would not requested help but... ?

    Hey, sorry but I cannot provide private help for anyone but feel free to ask in this forum in Questions & Answers or even here but provide more details, and someone will probably answer, maybe me.

  13. 6 minutes ago, ReFresh said:

    @ TMP4 Yep, I applied that.

    Try to remove it, as I said in the topic that is not a fix but a workaround and i think does not even correct.

    Also the problem does not occur for me at SCMD_QUIT but when I kill the client. And as marty said, the server will kick the client-less character in about 300second so this problem is not even a serious one.

    • Good 1
  14. 2 minutes ago, ASIKOO said:

    Closing a forum would be more relevant ?

    That's why I wrote I'm not sure if it is real or written by a well prepared troll. It came from an outlook address, not a @somelawyerfirm.com, and while I found his name in Hungarian Bar Association database, anyone can choose a random name from their to imitate. Plus legally he is required to write in a return letter by the law but I can admit not many people know my address ?

    If gayforge would target this forum like they did with M2M, Rubinum and WoM2, I'm not going to lie, a tear would slip down from my eyes. ?

    • Cry 1
  15. 1 hour ago, Sierra said:

    You are doing an incredible job ? All of my metin2 acquaintances using your serverfile here in Romania and who not are using leaked Marty.

    Doesn't you afraid of gameforge? I mean it got so popular and reposted to many many forums, they may raise their heads sooner or later ?

    Hey I'm glad you like it. ?

    Spoiler

    Actually I got a "lawyer's warning" (=cease and desist in western countries) in email from a hungarian lawyer back in september. I'm not sure if it was written by a well prepared troll or Gameforge actually issued their hungarian team who commissioned a lawyer to write me a solicitation and since they couldn't get my address anywhere, he just sent an email.

    I never replied and 2+ months passed and I did not get any further warning.

    • Scream 1
  16. New update:

    2021.11.06: - Added a fix for guild land loading in another core. (building.cpp)
                - Added some not used but needed table to the database to silence syserr in some situation:
                  account.string, account.gametime, account.gametimeip, account.gametimelog.
                - Fixed metin2_map_spiderdungeon_02/boss.txt (Dark Queen Spider, remove if you not need it).
                - Fixed share/date/monster folders: boar, dog_god, leechung, lion, spy1, zombie_god_stone,
                  zombie_key_stone, zombie_security_stone to silence motion syserrs.
                - In mob_proto.txt changed folder yamachun to yamachun_boss (6091) and pwahuang1_2 to
                  pwahuang1 (34009), and corrected folders of mounts: 20110-20114.
                - Fixed redthief_boss2 (3591) & redthief2_boss2 (3596) skills: I enabled skills for 3591 in
                  mob_proto.txt and fixed their folders in share/data/monster and in clientside metin2_patch_w20_etc.
                - Fixed spiderdungeons mapname image in root/uimapnameshower.py (MAP_NAME_IMAGE).

    Thanks @4peppe for the contribution. Syserr will be much cleaner from now on.

    Now redthief_boss2 (3591) & redthief2_boss2 (3596) will have their skills working:

    Spoiler

     

    Since Webzen messed those quite well with the typos, incomplete msa files in serverside and wrong animation path they never worked in official servers ?

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    @ ASIKOO Any chance I can get access to my user in metin2.download? Then I could update both in the same time and spare you some time ?

    • Love 8
  17. 33 minutes ago, 4peppe said:

    Hi, I noticed there is this syerr:
     

      Hide contents

    SYSERR: Nov 4 15:00:47 :: LoadSkillMotion: Motion: Skill exist but no motion data for index 0 mob 3596 skill 257
    SYSERR: Nov 4 15:00:47 :: LoadSkillMotion: Motion: Skill exist but no motion data for index 1 mob 3596 skill 258
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: yamachun have not motlist.txt vnum (6091) folder (yamachun)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: yamachun have not motlist.txt vnum (6091) folder (yamachun)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: yamachun have not motlist.txt vnum (6091) folder (yamachun)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: yamachun have not motlist.txt vnum (6091) folder (yamachun)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: yamachun have not motlist.txt vnum (6091) folder (yamachun)
    SYSERR: Nov 4 15:00:48 :: LoadMotion: cannot find accumulation data in file 'data / monster / boar / run.msa'
    SYSERR: Nov 4 15:00:48 :: LoadMotion: cannot find accumulation data in file 'data / monster / dog_god / run.msa'
    SYSERR: Nov 4 15:00:48 :: LoadMotion: cannot find accumulation data in file 'data / monster / lion / run.msa'
    SYSERR: Nov 4 15:00:48 :: LoadMotion: cannot find accumulation data in file 'data / monster / boar / run.msa'
    SYSERR: Nov 4 15:00:48 :: LoadMotion: cannot find accumulation data in file 'data / monster / dog_god / run.msa'
    SYSERR: Nov 4 15:00:48 :: LoadMotion: cannot find accumulation data in file 'data / monster / lion / run.msa'
    SYSERR: Nov 4 15:00:48 :: LoadMotion: cannot find accumulation data in file 'data / monster / boar / run.msa'
    SYSERR: Nov 4 15:00:48 :: LoadMotion: cannot find accumulation data in file 'data / monster / dog_god / run.msa'
    SYSERR: Nov 4 15:00:48 :: LoadMotion: cannot find accumulation data in file 'data / monster / lion / run.msa'
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: leechung have not motlist.txt vnum (20369) folder (leechung)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: leechung have not motlist.txt vnum (20369) folder (leechung)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: leechung have not motlist.txt vnum (20369) folder (leechung)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: spy1 have not motlist.txt vnum (20370) folder (spy1)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: spy1 have not motlist.txt vnum (20370) folder (spy1)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: spy1 have not motlist.txt vnum (20370) folder (spy1)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: zombie_key_stone have not motlist.txt vnum (30101) folder (zombie_key_stone)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: zombie_key_stone have not motlist.txt vnum (30101) folder (zombie_key_stone)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: zombie_key_stone have not motlist.txt vnum (30101) folder (zombie_key_stone)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: zombie_god_stone have not motlist.txt vnum (30102) folder (zombie_god_stone)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: zombie_god_stone have not motlist.txt vnum (30102) folder (zombie_god_stone)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: zombie_god_stone have not motlist.txt vnum (30102) folder (zombie_god_stone)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: zombie_security_stone have not motlist.txt vnum (30103) folder (zombie_security_stone)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: zombie_security_stone have not motlist.txt vnum (30103) folder (zombie_security_stone)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: zombie_security_stone have not motlist.txt vnum (30103) folder (zombie_security_stone)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: zombie_security_stone have not motlist.txt vnum (30104) folder (zombie_security_stone)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: zombie_security_stone have not motlist.txt vnum (30104) folder (zombie_security_stone)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: zombie_security_stone have not motlist.txt vnum (30104) folder (zombie_security_stone)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: pwahuang1_2 have not motlist.txt vnum (34009) folder (pwahuang1_2)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: pwahuang1_2 have not motlist.txt vnum (34009) folder (pwahuang1_2)
    SYSERR: Nov 4 15:00:48 :: GetMotionFileName: Motion: pwahuang1_2 have not motlist.txt vnum (34009) folder (pwahuang1_2)

    there is also another guild land bug, just remove the guild from the "land" file, empty the "object" table;
    Then you have to open the building.cpp file in src / game / src,
    search for this line bool CManager :: LoadObject (TObject * pTable, bool isBoot) and uncomment this:
        if (!map_allow_find(pTable->lMapIndex))
            return false;

    I found this tutorial in an old discussion of yours!

    @ TMP4

     

    About the guild land, you probably refer to this: 

    I'll include this in the next update. About the motion syserrs I have no plan to touch the data folder, they not causing a bug, if I edit, maybe they will or behave differently. It's a reference release after all ?

    Edit: I see your edited your comment, the same thing applies to "specil_attack", it's just a typo and it's named like that in the clientside too.

  18. On 10/25/2021 at 6:10 PM, KronosG said:

    Thirdly, Combo is only working on the first stage, haven't searched a fix for that (Only tested Warrior but I assume it would be the same for other classes).

    Lastly wanted to ask if you have any plans to enable linking alchemy in chat?

    Hi, I tested combo and it's working fine on both level. The admin character have 'P' combo (max for players is 2), but it does work as first level. If you sure the level 2 combo not working, please provide me more info to track it. And thanks for the other stuffs ? (ds linking enabled)

    --------------------------------------------------------------------------------------------------------------

    New update:

    2021.11.01: - Added a fix for Guild Comment Flood Exploit. (guild.cpp CGuild::AddComment)
                - Added P2P Port Protection: https://www.onforum.net/threads/c-fix-api-tool-p2p-port-protection.2752/
                  You can disable it by removing the #define ENABLE_PORT_SECURITY in common/service.h (not advised).
                - Changed g_stLocale = ""; to g_stLocale = "latin1"; in db/ClientManager.cpp to silence syserr when
                  you use English locale (All other locale have their own code set in ClientManager).
                - Fixed an issue in some locale_game.txt: %, --> %. (Leadership skill and fish lenght fix).
                - Added missing locale_string value: "%sŔĚ ÇĘżäÇŐ´Ď´Ů."; "%s needed.";.
                - Enabled dragon soul alchemy items linking in chat. (uidragonsoul.py)
                - Removed the unnecessary '\' backslashes from item_names_fr.txt.
                - Repacked: Property, Season1, OutdoorA1 so now you can extract-repack it with Eternexus too.
                - White NPCs fixed in Season1 (wrong lod files renamed with _backup postfix).
                - Warrior Bunny costume model fix: https://metin2.dev/topic/748-warrior-bunny-fixed/
                - Shaman Female King model fix: https://metin2.dev/topic/20661-shaman-king-f-without-hairstyle-bug/

    While we can consider "P2P Port Protection" as a "new system" but it was a necessary addition because over the months I got so many inquiry about p2p attacks, people question me and this release why "hackers" can shut down their server while in reality they opened a server without a single firewall.

    Even though "api tool" is fixed now without a firewall, I still reccomend to use a firewall, and at least restrict the connections per ip to 10-15 or something like that because ppl will abuse your auth by sending large numbers of packet in client-less.

    Edit: It was a larger update so if you guys find any bug please report it, thanks ?

    • Love 7
  19.                                     long calulcatedDay = item2->GetSocket(0) + (item->GetValue(0) * 60 * 60 * 24);
                                        ITEM_MANAGER::instance().RemoveItem(item);
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("COSTUME_TIME_EXTENDED"));
                                        if (calulcatedDay > 2592000)
                                            calulcatedDay = 2592000;
                                        item2->SetSocket(0, calulcatedDay);

    Or with ternary operator:

    Spoiler
    									long calulcatedDay = item2->GetSocket(0) + (item->GetValue(0) * 60 * 60 * 24);
    									ITEM_MANAGER::instance().RemoveItem(item);
    									ChatPacket(CHAT_TYPE_INFO, LC_TEXT("COSTUME_TIME_EXTENDED"));
    									long finalDay = (calulcatedDay > 2592000) ? 2592000 : calulcatedDay;
    									item2->SetSocket(0, finalDay);

     

     

    • Love 1
  20. 59 minutes ago, ReFresh said:

    @ TMP4 I did the same thing:

      Reveal hidden contents
    			local blockedItems = {11901, 11902, 11903, 11904};
    			local wearPositions = {0}
    			
    
    				for i = 1, table.getn(blockedItems) do
    					for j = 1, table.getn(wearPositions) do
    						if (pc.get_wear(wearPositions[j]) == blockedItems[i]) then
    							syschat("No wedding dress allowed")
    							return
    						end -- if
    					end -- for
    				end -- for
    			end

     

    But ride item is still equipping that's the last thing which I need to fix.

    I think Samurai code is not right here in char_item CHARACTER::EquipItem:

        if (item->IsRideItem())
        {
            if (IsRiding())
            {
                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ŔĚąĚ Ĺ»°ÍŔ» ŔĚżëÁßŔÔ´Ď´Ů."));
                return false;
            }
    
            if (IsPolymorphed())
            {
                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("şŻ˝Ĺ »óĹÂżˇĽ­´Â ¸»żˇ Ĺ» Ľö ľř˝Ŕ´Ď´Ů."));
                return false;
            }
            
            if (iWearCell == (item->GetVnum() >= 11901 && item->GetVnum() <= 11904))
            {
                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»Ŕ» Ĺş »óĹÂżˇĽ­ żąşąŔ» ŔÔŔ» Ľö ľř˝Ŕ´Ď´Ů."));
                return false;
            }
        }

    Change it to:

        if (item->IsRideItem())
        {
            if (IsRiding())
            {
                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ŔĚąĚ Ĺ»°ÍŔ» ŔĚżëÁßŔÔ´Ď´Ů."));
                return false;
            }
    
            if (IsPolymorphed())
            {
                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("şŻ˝Ĺ »óĹÂżˇĽ­´Â ¸»żˇ Ĺ» Ľö ľř˝Ŕ´Ď´Ů."));
                return false;
            }
            
            LPITEM checkItem = GetWear(WEAR_BODY);
            if (checkItem && checkItem->GetVnum() >= 11901 && checkItem->GetVnum() <= 11904)
            {
                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸»Ŕ» Ĺş »óĹÂżˇĽ­ żąşąŔ» ŔÔŔ» Ľö ľř˝Ŕ´Ď´Ů."));
                return false;
            }
        }
                                                                                           

    I tested and it should work.

    • Love 2
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / 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.