Jump to content

arves100

Former Staff
  • Posts

    620
  • Joined

  • Last visited

  • Days Won

    18
  • Feedback

    100%

arves100 last won the day on May 29 2021

arves100 had the most liked content!

5 Followers

About arves100

Informations

  • Gender
    Male
  • Country
    Italy
  • Nationality
    Italian

Recent Profile Visitors

6359 profile views

arves100's Achievements

Experienced

Experienced (11/16)

  • Reacting Well
  • Dedicated
  • Very Popular Rare
  • Conversation Starter
  • One Year In

Recent Badges

1.5k

Reputation

  1. Thank you for leaving the credit in the files at least. I didn't knew I was @ Gurgarath tho
  2. We do have the torrent patch source code inside the leaked src, we can also see the resources matches. I had no idea n2 used some portion of it, understandable actually I know nova and the other guys who got the full original leak of ymir has the src. (Not us that we only got the Metin2 one) I also believe SG people have the src as well as they used to have the src before the leaks according to some leaked emails
  3. From what we know yes the game didnt receive good reviews in south Korea, the project was dropped around 2010 I think according to the page that was shutted down in web archive. The game did receive some stuff in German forums but that's all. We know that in 2013 leak of the Metin2 source code, the whole entirety of ymir assets and game were leaked, including also metin1 and inferna, so we know that some people might still have the source but we will probably never see a leak. The game also used ypk and yix and some common libraries which we found the source inside mainline extern, we don't have the source but mantle, earth, ymirbase and ymirnetwork were all used for the project. According also to some KR posts of my Evan and the python UI leak they had used more proper things (like decorations) and probably even wxWidgets. We have some proof from there that the client was branched out of the original Metin2 client, probably the server also like Metin2 server had some stuff of metin1. Also no setup that I'm aware of was ever saved, neither from the web archive and neither from any Korean place that I searched (never, some posts on never cafe and Emule or a Korean torrent)
  4. Thank you for posting this, we know back in 2008 people on epvp used to have a game client and that the source code were leaked along with the famous 2013 ymir source code leak, but neither a client or any source code ever emerged online, I've tried to contact some people who had the client but it looks like nobody even has it. We know that the game uses a modified version of the Metin2 engine and it can be considered something like Metin2 2.0 in terms of how it works, some Python files have been posted in this forum in the past. I also hope one day more things of this game will be playable
  5. The project and the repo is still there, but we currently don't have a lot of time to focus on it, I'll see if I can do some things (I expected to do them this month but xD)
  6. Updated to Python 2.7.18. Freebsd update: vcpkg now builds but there's not toolchain for 32-bit (I don't have a freebsd machine to test), you can try to use the x64 one by modifing -m64 to -m32
  7. post a tutorial here, nobody will stop you
  8. Nobody has officially declared the death of the project lmao, we just haven't found some time to work on it yet (I hope to restore some work on july)
  9. @ServerCommandParserwaitin as well btw you can't, only python2 is supported, your average encoding vary from korean (cp949) and whatever locale you are in
  10. shhhh I was translating and wrongly hit the keyboard shortcut to publish the topic, should be ok now
  11. Welcome hopeless developers, in an attempt to reduce some random questions, and considering I haven't found anything about this there, I'll share this small method to fix the packet errors, which requires thinking. There's no copy/paste here as it requires you to think of what you modified. This tutorial is, of course, indented for new people not for the rest. If you are interested in how to make a new packet, head here: What is it and how metin2 implementes it? Keeping things simple and understandable, a packet is an information exchanged between the Client or the Server. For example, when you press the button Space (to attack), the client will send an information (which is a packet), which will tell the server that we attacking the player Shiba324. Read this if you are more interested: [Hidden Content] Each packet needs to be identified in an unique way between client and server otherwise the client or server won't understand which thing you are sending, that's why each packet of Metin2 starts with "BYTE bId". We see this numbers inside an enum block (like PACKET_CG_LOGIN2 which identifies the login packet), while it's content is defined inside a struct block (like TPacketGCLogin2). The files which this packets are defines are Packet.h inside UserInterface and game/src. There are two packet types, dynamic and static, the static ones have a fixed length (the structure size), the dynamic have an extra data called (length, usually WORD), which tells the game the size of it. All the packets have a nomenclature, which I'll explain here: CG -> Client to Game (sent by the client) GC -> Game to Client (sent by the server) GG -> Game to Game (used by P2P packets for communicating two cores with eachother) Before seeing how to fix the errors, there's another thing that I will explain called Sequence system. What is the sequence system? It's a system introduced in newer clients (like 34k). It's basically a check which the client will send an extra data after a packet, and the server will verify if it's correct, in case it's not it will kick the player out of the server. The verision system works by sending a different number each time a packet is sent or received to the server, the client can send up to 32768 unique numbers before resetting itself to 0 (it's stored in a big array). Error type 1: Unknown packet header: XXX, last: YYY ZZZ Number explanations: XXX is the packet that the game/client cannot handle YYY and ZZZ are the last two packets sent before this error (usefull for investigating what packet caused this error) This error can happen before of the following issues: You modified the source and you haven't added inside PythonNetworkPhaseGame.cpp or packet_map.cpp the packet You have a packet which size mismatches between client and server Error type 2: SEQUENCE XXXXXXX mismatch 0xYY != 0xZZ header KK This error could happen for some reasons: You specified a packet which uses the sequence in packet_info (last value true/false) and in the client you forgot to add "SendSequence()" or viceversa You have a packet which size mismatches between client and server (the server is thinking a packet data is a sequence data) Error type 3: We don't really have syserrs here but we can see the client fuzzying around or doing wacky things (even crash at some point!) or the server/client fails to process all the data sent. This error could happen for some reasons: You have a packet which size mismatches between client and serve You forgot to add a Send() or forgot to Recv() the data inside the client tl;dr: always check for the following things if you are unsure: Check if you have added SendSequence and modified the true/false in packet_info (if you use sequence system) ALWAYS CHECK if Packet.h has the same ID and structures Check what action causes the issue so you can track down the code Always check the last headers sent, most of the time is just a byte not sent at the end Always check your implementation of input_main (Server) and PythonNetworkPhaseGamexxxxxxx (Client) Pro hack tip: __PACKETDUMP__ and ENABLE_SEQUENCE_SYSTEM are cool bois. Good luck.
  12. that log is not complete, I don't see the full log in cmake
  13. I've sent a pull request to Microsoft to accept the 32-bit toolchain, no answer after more than 1 week, once they'll approve it I'll bump the topic again.
×
×
  • 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.