Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/16/21 in all areas

  1. The black screen was mostly caused by two major bugs: The granny controller freezing the process for n seconds until you get dc'd from the game You can test it by: Spawning tons of monsters Minimize the client for 30 - 40 minutes Maximizing the window again (it will freeze exactly at this point) The EffectManager not destroying the expired effects while the window was minimized, which caused all the executed effects to stack up and be run all at once after maximizing the window again You can test this bug very easily: Spawn tons Flame Ghosts and minimize the window /ma "Flame Ghost" 100 /cannot_dead I wasn't sure how to solve the 1st one, but for the 2nd one you can fix it in one of these ways: 1st Way) refresh only once every 256 frames = 4-6 seconds depending on the lag 2nd Way) effect manager refresh for every frame 3rd Way) move the update from RenderGame to UpdateGame (it may not be called if skipFrame=true on ::Process)
    23 points
  2. M2 Download Center Download Here ( Internal ) [Hidden Content] The client part is from 2018 official root. Do not forget to add slot marking.
    22 points
  3. Introduction I think everyone know about this famous bug. I profiled the game and checked granny documentation why it happens because we also faced this on MAP1s since we have a lot of offline shops. Actually the game not even freezes, it runs well and the updates happen. What eventually happens there is just that update time takes too long so it will skip rendering. What makes update times longer? The answer is granny controls. When you minimize your game, the completed controls never get freed. It's because the game frees them in CGrannyModelInstance::UpdateWorldPose which is called from CPythonApplication::RenderGame in a long way. There are just more and more of them that are never freed and that makes GrannySetModelClock take more and more time so when you open up your client from the minimized state it will never finish the update fast enough to call RenderGame in which they would be freed again. [Hidden Content] Thats all, you won't face the "black screen bug" again! Good luck guys!
    20 points
  4. BR Patch 07.09.2021 (Metin2 Download) GF v21.3.7.0 Patch (Metin2 Download)
    12 points
  5. M2 Download Center Download Here ( Internal ) Enjoy it!
    11 points
  6. [hide]I'll teach you how to hide a content! There are two methods : Use an external link to the Metin2 Dev domain... Use a special tag... [hide] Your message [/+hide] without + symbol [/hide]
    11 points
  7. M2 Download Center Download Here ( Internal ) [Hidden Content] The client part is from 2018 official root. Includes net.SendItemCombinationPacketCancel(), which was added later. Don't forget to add the slot marking.
    8 points
  8. M2 Download Center Download Here ( Internal ) Hi, here I publish my edit of the public Render Target System. I hate it, when people earn money with public systems. Preview: [Hidden Content] DL: [Hidden Content] Original Thread [Hidden Content]
    7 points
  9. Download Updated at 2023.08.05. Alternative download links: Client & Serverfiles + VDI + Extension Pack [40250] Reference Serverfile + Client + Src [15 Available Languages] My goal was to make a reference r40250 serverfile as official as possible compared to what GF had back when their files got leaked in early 2014. No new systems added, only bug fixes. While I spent several hours testing, there may still be bugs. Please report bugs to me so I can fix them in the future, I want to make this project as bug free as possible. Available languages: EN/DE/HU/FR/CZ/DK/ES/GR/IT/NL/PL/PT/RO/RU/TR Please read Languages.txt to learn how to change the default EN language. SSH for VM: root/123456789 MySQL: root/123456789 Ingame: admin/123456789 Aliases and it's commands: start cd /usr/metin2/server && sh start.sh close cd /usr/metin2/server && sh close.sh clean cd /usr/metin2/server && sh clean.sh backup cd /usr/metin2/server && sh backup.sh questcompile cd /usr/metin2/server/share/locale/english/quest && python2.7 make.py dbclean cd /usr/metin2/src/server/db/src && gmake clean dbdep cd /usr/metin2/src/server/db/src && gmake dep dbcompile cd /usr/metin2/src/server/db/src && gmake -j9 gameclean cd /usr/metin2/src/server/game/src && gmake clean gamedep cd /usr/metin2/src/server/game/src && gmake dep gamecompile cd /usr/metin2/src/server/game/src && gmake -j9 Please read Changelog.txt to find more about the changes I made. Special thanks to: @Mali for the clean and updated client & server src files. @Sanchez for the 2014 base client. @Veltor88 for the translate.lua pack. @Fazer for the locale_string pack I made a little video about installing the serverfile (vm) and changing the language: PS: I know it's pretty late in 2021 but better than ever Sincerely, TMP4
    4 points
  10. M2 Download Other Mirrors Download Here ( GitHub ) Download Here ( MEGA ) A Mini Version of the official chatting window renewal. All settings are saved in UserData/chatting/<character_name> using the cPickle module in C, a powerful algorithm for serializing and de-serializing a Python object structure, also used by Webzen.
    4 points
  11. Hello, Most of you maybe know the exploit in combination with inventory sorting and channel changer, but it's also possible with a small script and no other systems involved. Thanks to Fliegex3 / Colossus. [Hidden Content] char_item.cpp in bool CHARACTER::MoveItem(TItemPos Cell, TItemPos DestCell, WORD count) find if (!IsValidItemPosition(DestCell)) { return false; } add if (Cell.cell == DestCell.cell) return false;
    4 points
  12. M2 Download Center Downlaod Here ( Internal ) Download Here ( GitHub ) Please dont flame me. @Mali61 push me to pubblish here. Video
    4 points
  13. M2 Download Center Download Here ( Internal ) Author : KoMaR1911 Github + source code : [Hidden Content] How to use?: 1. Inject PyRunSimpleStringFlagsDumperMetin2.dll to metin2 game process using Xenos Injector / Extreme Injector 2. Inject cheat to game 3. go to C:/dump.txt here is dumped python loaded by PyRun_SimpleStringFlags Download : [Hidden Content]/releases/download/1.0/PyRunSimpleStringFlagsDumperMetin2.dll
    4 points
  14. 16.09.2021 Changelog: - Added Pattern Scanner - Adder support for Static linked python27.lib in .exe! [Hidden Content]
    4 points
  15. In EterLib/GrpScreen.cpp find CScreen::RestoreDevice and in the if (FAILED(hrReset)) condition add (and don't forget to include comdef.h) _com_error ce(hrReset); const TCHAR* errMsg = ce.ErrorMessage(); So it should look like: Now put a breakpoint there or print out the error message somewhere so we can get more info why your device couldn't reset. By the way it's really another topic and not what this thread is about.
    4 points
  16. 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.
    4 points
  17. M2 Download Center Download Here ( Internal ) [Hidden Content] Video: Images: Client Side is from 2018 official root. Of course I've made minor changes for slot marking and cheque(if app. checks) You have to add slot marking too. Mysql used to retrieve data during game launch, and to backup(default 1 hour, you can change at conf.txt)
    3 points
  18. M2 Download Center Download Here ( Github Backup ) - Download Here ( GitHub ) Download Here ( VM 9.2 ) or Download Here ( VM 12 ) Use this source: [Hidden Content] or [Hidden Content]
    3 points
  19. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Cheque system full ~ like official The tutorial was remade and uploaded to github Monetary unit: Won - Not compatible with long long gold - Max won 999 (like official) - Added support for OfflineShop(great) Best regards.
    3 points
  20. Download Metin2 Download Hi, I did not find a share with the Sources of Metin2... I share the sources with you today ! Kraizy sources with all branches of development. External Link : Mega or Go Sincerly, ASIKOO
    3 points
  21. Hi! I ve found a problem with displaying item names when switching to romanian language. Everything works fine (all other strings like item descriptions or quests) but item names are displayed like some weird characters (like it s trying to display korean characters). I m pretty sure it s client related since picking up an item shows the correct name. Only when hovering over it it shows those weird characters. How to solve? EDIT: Same issues with monster names but NPCs name and bonuses seems to display just fine. What to do?
    3 points
  22. M2 Download Center Download Here ( Internal ) Download
    3 points
  23. GF v21.2.10.0 Patch (Metin2 Download) Contents: root-meta, dumped binary, protos(out of date, types/values will be checked later). 2021 Summer costumes, new pet. All files are unpacked in a folder.
    3 points
  24. GF v21.2.8.0 Patch (Metin2 Download) Contents: root-meta, dumped binary, protos(out of date, types/values will be checked later) New map with dungeon and monsters, npcs, objects. New weapons, pet(2x textures), new mount. All files are unpacked in a folder. Demo.
    3 points
  25. 3 points
  26. M2 Download Center Download Here ( Internal ) Hello , tonight i feel good and i will share this system for free. Is one of my first systems made for my server , i know that isn't made by a pro (coding stuff i mean) but it works w/o problems. I don't force anyone to use it, if you don't like the way it is made, make yourself the one you want. You need to have Emoji Texline stuff implemented: [Hidden Content] edit: change PythonTextTail.cpp: TTextTail * pTextTail = RegisterTextTail(VirtualID, c_szChat, pCharacterInstance->GetGraphicThingInstancePtr(), pCharacterInstance->GetGraphicThingInstanceRef().GetHeight() + 10.0f, c_TextTail_Chat_Color); to: TTextTail * pTextTail = RegisterTextTail(VirtualID, strContent.c_str(), pCharacterInstance->GetGraphicThingInstancePtr(), pCharacterInstance->GetGraphicThingInstanceRef().GetHeight() + 10.0f, c_TextTail_Chat_Color);
    2 points
  27. M2 Download Center Download Here ( Internal ) Conversation between me and vegas: [21:18:22] ####:: VegaS are you here? [21:18:31] VegaS™: Yes. [21:19:09] ####: Man, some people sell your title system what was public on tur****. [21:22:14] ####:: [Hidden Content] [21:22:22] ####:: Here is this shit what he sell. [21:28:33] ####:: Shit all resellers , dude . [21:34:50] VegaS™: There are many whores in this area, so best bet would be to post this system because some hookers make money from him unjustly. So send them harlots that vegas has big dick and that will fuck all in the ass. This system has a crappy code, you can keep the recycle bin, is the first version of shit. I apologize for what my clients who bought this system, but I'll make updates to it and will be more advanced. I can not enter metin2dev this time because my account is suspended for a short period of time, but I will return very soon, remember that. Why has reached this release online? Since titlesystem first version had over 35 buyers from title and I sold at all retarded. But now these latest systems and will not sell than some people you know for a long time and know 100% that they are not whores. Latest systems are stored for each client, I know 100% who I was because when you reach for resellers or free. And remember one thing: - I Will never sell any system or any other things for Romanian people, if someone tries to sell it or mean it's fucking scammer, and if u see Something scammer who sell my works, you can report this to me. Soon it ready new website, where there will be all new systems sales and presentations. ^^ Go on metin2dev and post system and send them the message that I told you. (sorry for my english) Download: [Hidden Content] Have fun, scammer ^^ #request close topic, so much spam xD
    2 points
  28. M2 Download Center Download Here ( Internal ) Download Here ( Latest Version ) This WE is a version compiled directly by me which includes infinite fixes and features. It's certain that you won't longer use the worldeditor_en! To make it simple, I wrote all the details about this feature and the common WE inside the relative config file: (called WorldEditorRemix.ini) ; Info: ; -) 100% translated ; -) granny2.11 ; -) F6 as Insert alternative ; -) many default features not present inside the worldeditor_en (probably, that binary was taken out from an SVN long time ago and resource hacked) such as Ins for all regions and skyboxes ; -) WASD UPLEFTDOWNRIGHT to move around (+asynchronous diagonally movements) ; -) UP-LEFT-DOWN-RIGHT to move around*10 (+asynchronous diagonally movements) ; -) config file for few things ; Output options by default ; few others such as default WASD movement ; whether or not Insert should let you go where you were before the press ; no MAI dump when saving atlas ; whether or not DevIL should compress and remove alpha from minimap.dds ; whether or not loading .mdatr building heights ; default textureset when creating maps ; overlapped tabs ; other stuff ; -) several bugfixes ; default title app name ; attempting to write to an empty textureset name when creating new maps ; ViewRadius doubled every load&save ; shadowmap.dds creation ; assert when saving atlas ; crash when adjusting height ; many buffer under/overflows ; *.mdc collision data saving (for game_test) ; not checking output options when loading maps ; water brush waterid bug (the id was increased until 256 each time the function was called; now it's based on the water height just like it should be) ; init texture map reload map crash and last 2px always blank ; square shape even for up/down height brushes ; add textureset texture button (+multiselection) ; remove textureset texture feature (just selecting a texture from the list and pressing DELETE) ; creation of empty textureset with index -1 (changed to 0) ; change baseposition button ; misspelled stuff ; skybox bottom image (nb: you also need a fixed launcher for this) ; removed boring CTRL requirement (to move the camera) when editing daylight/attr ; fixed refresh texture imagebox onKey pressing the down/up keys (like when onClicking them) ; fixed TextureSet file creation if not existing ; fixed new wolfman motion event handling ; fixed crash when editing animation attack bones and 00010.gr2 was missing ; fixed locale/ymir/mob_proto load (it autodetects the most common structures) and <map>/regen.txt load/save ; fixed ./group.txt load ; fixed load/save/edit <map>/regen.txt (very nice for "m" regens, untested for "g") ; load from PACK is available if pack/property is present! Be sure pack/Index exists! ; fixed multi-object selection crash ; fixed crash when previewing a missing texture ; fixed not clearing of old environment (e.g. skybox) when switching maps ; fixed not creating property folders in root tree (object tab) ; fixed object attachment in Model Tab ; fixed newly particles names in Effect Tab ; fixed crash when saving a .mse script with no mesh model ; fixed crash when inserting a lower gradient ; -) created new TextureSet field when creating new maps ; -) created new Change/Delete Texture buttons when double-clicking a texture ; -) created Background Music playback and Shadow Recalculate buttons ; -) created water height "set 0z", "+1z", "-1z" buttons ; -) server_attr generator ; -) every crash will generate a logs/WorldEditorRemix_{target}_{date}.dmp file useful for debugging ; -) implemented a "water path" mapsettings option (the launcher requires additional code) ; -) implemented a "wind strength" msenv option (the launcher requires additional code) ; -) the "encrypt data" feature does nothing (unimplemented) ; Note: ; 0) there are no regressions in this version! a bug here means it'd also be present in older WE versions too! ; 1) the shadow output option is tricky: when UpdateUI is called, shadows are hidden although the check is pressed (i implemented the shadow recalculate function for that) #fixed since v11 ; 2) the bgm player requires /miles and the fadein/out doesn't work until you load the map ; 3) the adjusting height button works only if mdatr height is detected ; 4) the Debug version is laggy when working on maps such as n_flame_dungeon and n_ice_dungeon (by default, because SphereRadius are intensively checked in SphereLib\spherepack.h) ; 5) if you load a map, the script panels (where you load .msa et similia) will have the camera perspective a little fucked up (0z instead of -32767z or 0x 0y -163,94z) ; 6) few tree objects are not movable and/or highlightable after placed on the ground and their selection is invisible (you can still delete 'em) ; trick: draw a square selecting a normal building and 'em, then move the building and you'll see all of 'em will be moved! ; 7) the server_attr generator will clean all the unused flags! attr[idx]&=~0xFFFFFFF8; ; 8) you can read files from pack/Index 'n stuff but be aware that Property will not be considered! #fixed since v15 ; 9) the MonsterAreaInfo features are laggy and buggy as fuck ; 10) even though you can select many textures at once (using ctrl+click on textureset list; for brushing or initializing a base texture), you can't delete more than one at the same time ; 11) the .mdatr height is tricky; if you move a building, the height will not be refreshed until you put a new building or whatever you want to trigger the update event ; 12) by default, the worldeditor tries to render only the first 8 terrain textures of a 32x32px region (nb: a 1x1 map is a 256x256 px region) ; 13) the minimap rendering cannot catch the buildings/trees inside the first 2x2 regions due a ymir cache fault and you need to set the camera to "see" them ; 14) when the textureset, environment, etc load fails, the old filename still remains loaded ; 15) the attr flag "3" (three) has no implementation, so don't use it! ; 16) load from PACK doesn't load texturesets from files for first (if they are already in pack/), and the object placer's object list will remain empty because it takes the list from property/ (and not from pack/property) ; 17) to save the regen.txt you press CTRL+S ; 18) if you enable the wireframe (f4) when on Attr Tab, you see the terrain all white ; 19) the water brush disappears when the camera renders the waterwheel small/big effect ; 20) the monster area info goes under ground if you're outside the relative sectree ; 21) the full skybox may be displayed only after the top picture has been added (if the other textures have already been inserted) ; 22) the slider in the Attr Tab is something like "16 photoshop layers" in which you can split your attrs; not so helpful and quite confusing sometimes ; 23) the fixed model - object attachment attaches static objects (hairs'skeleton will not mirror the playing animation) ; 24) in environment tab, if you insert lower gradients, you may end up with an out of range crash #fixed since v30 ; 25) brushes working out-of-screen/map-range may affect random terrain places ; TODO: ; A) look at more than 8 textures for region -> DONE ; B) create a shortcut to fix the #5 note -> DONE ; C) disable the radius <= GetRadius()+0.0001f check to fix the #4 note -> REJECTED ; the worldeditor_en calls this assert and, if ignored, the lag ceases to exist (this will not occur in source version) ; at least, if the release version is not a problem for you, use that in those few cases when .mse are abused and try to kill the debug one ; D) translation in more languages other than english -> REJECTED ; english should be enough! ; E) alternative path for d: -> REJECTED ; you can mount d as a subpath of c like this: ; subst d: "c:\mt2stuff" ; F) need to fix note #19 #25 -> TODO [shortcuts] ; ### SHORTCUTS ; # ESC(ape) Clean cursor ; # Canc(el|Delete) Delete stuff such as selected buildings ; # Ctrl+S Save map ; # Ins(ert) or F6 Save shadowmap|minimap.dds ; # F3 BoundGrid Show/Hide ; # F4 Render UI Show/Hide ; # F11 WireFrame Show/Hide ; # R Reload Texture ; # Z and X Decrease/Increase Texture Splat by 0.1 ; # CapsLock Show GaussianCubic effect if shadows are displayed ; # L-Shift+1-6 Show TextureCountThreshold flags (&2-7) as colors on the ground ; # L-Shift+8 Set Max Showable texture to 8 (de-fix note 12) ; # L-Shift+0 Set Max Showable texture to 255 (fix note 12) ; # H Refresh MDATR Heights (useful when you move an object) (fix note 11) ; # Y Set Perspective as default (fix note 5) ; # T Set the Camera to catch all the object on the screen (w/a note 13) then you'll be ready to press Insert/F6 ; # DO NOT HAVE AN OBJECT SELECTED WHEN USING THOSE SHORTCUTS (MW1-7) ; # MouseWheel+1 move cursor x rotation ; # MouseWheel+2 move cursor y rotation ; # MouseWheel+3 move cursor z rotation ; # MouseWheel+4 move cursor height base (1x) ; # MouseWheel+5 move cursor height base (0.5x) ; # MouseWheel+6 move cursor height base (0.05x) ; # MouseWheel+7 move cursor ambience scale (1x) ; # MouseWheel+Q move selected object height base (1x) ; # MouseWheel+9 move selected object x position (1x) (+asyncronous) ; # MouseWheel+0 move selected object y position (1x) (+asyncronous) ; # MW+RSHIFT+9|0 as above but *10x (+asyncronous) ; # MW+RCONTROL+9|0 as above but *100x (+asyncronous) ; # MouseLeft Insert Objects ; # MouseRight Move camera (it could require CTRL too) ; # SPACE Start move/selected animation in Object/Effect/Fly CB ; # ESC Stop animation in Effect/Fly CB [config] ; ### CONFIG OPTIONS VIEW_CHAR_OUTPUT_BY_DEFAULT = 1 VIEW_SHADOW_OUTPUT_BY_DEFAULT = 1 VIEW_WATER_OUTPUT_BY_DEFAULT = 1 ; WINDOW_HEIGHT_SIZE = 1080 ; WINDOW_WIDTH_SIZE = 1920 WINDOW_FOV_SIZE = 45 ; #100 = 1px (minimal px movement when pressing WASD) WASD_MINIMAL_MOVE = 100 ; came back from where you were before pressing Insert/F6 NO_GOTO_AFTER_INSERT = 1 ; disable MAI dumps when saving atlas and/or pressing Insert/F6 NOMAI_ATLAS_DUMP = 1 ; disable minimap.dds alpha saving and enable compression NOMINIMAP_RAWALPHA = 1 ; enable .mdatr height collision loading when moving on buildings or adjusting terrain DETECT_MDATR_HEIGHT = 1 ; disable fog when loading maps NOFOG_ONMAPLOAD = 1 ; refresh all checkbox configurations when loading maps 'n stuff REFRESHALL_ONUPDATEUI = 0 ; set a default mapname prefix when creating new maps ("" to disable) NEW_MAP_MAPNAME_PREFIX = "metin2_map_" ; display a default textureset when creating new maps ("" to disable) ; note: it loads the filepath if exists, otherwise it will create an empty textureset file NEWMAP_TEXTURESETLOADPATH = "textureset\metin2_a1.txt" ; create a default textureset as "textureset/{mapname}.txt" ; note: this option is not considered if NEWMAP_TEXTURESETLOADPATH is not empty. [before v24] ; note: this option is not considered if the TextureSet path input is not empty when creating a new map [since v24] NEWMAP_TEXTURESETSAVEASMAPNAME = 1 ; remove the weird attr flags from the generated server_attr SERVERATTR_REMOVE_WEIRD_FLAGS = 1 ; show diffuse lighting to object VIEW_OBJECT_LIGHTING = 1 ; path of mob_proto used for regen MOB_PROTO_PATH = "locale/ymir/mob_proto" ; select monster area info checkbox at startup VIEW_MONSTER_AREA_INFO = 0 ; brush cursor / object selection color RGB float between 0.0 to 1.0 (default: green -> 0 1 0) RENDER_CURSOR_COLOR_R = 0.0 RENDER_CURSOR_COLOR_G = 1.0 RENDER_CURSOR_COLOR_B = 0.0 Download: [Hidden Content] How To Map: This release will not cover this part. Look at CryPrime`s tutorials to understand how to do it. About the ServerAttr Generator: (since v14) This is a beta function but it should work fine. I tested it on gm_guild_build (1x1), metin2_map_a1 (4x5), metin2_map_trent (2x2), metin2_n_snowm_01 (6x6) and the result was the same as the blackyuko map editor. (I use a different lzo version and I clean deprecated and useless flags, so the size is different from this last one but the "final image" will be the same; using game_test to fix his server_attr will let mine and his perfectly equal byte per byte) I also give you the source code of my server_attr generator function. CLICK A server_attr file is based on all the attr.atr files merged into a one raw RGBA image and each one scaled from 256x256 to 512x512. After that, the image will be splitted into sectors of 128x128 px and each one compressed using lzo compression. The server_attr header is composed by the size of the map*4. (e.g. a 4x4 will have a 16x16 size with 256 sectors inside) (gj ymir CLICK) An uncompressed server_attr sector is just like this: CLICK (the sub 4 byte header is the size returned by the LzoCompress which indicates how much the compressed sector data are large) Each attr.atr is just like this: CLICK (the header is composed of 6 byte in total: 3 WORDs respectively for version, width and height; they are always 2634, 1, 1 so don't bother about it) A single attr.atr scaled from 256x256 to 512x512 will be just like this: CLICK You can use the game_test (from source) to perform few tasks like: Create a server_attr from a .mcd file (I won't suggest it) a <collision data filename> <map directory> Regenerate an old server_attr to server_attr.new using the current lzo compression and cleaning useless flag CLICK c <filename> Other stuff such as b to create a character instance or q to quit About the SkyBox Bottom pic fix: (since v21) Both metin2launch.exe and worldeditor.exe should be edited to see the bottom pic of the skybox. Ymir messed up the code wrongly flipping the bottom image. Open ./Srcs/Client/EterLib/SkyBox.cpp and replace: ////// Face 5: BOTTOM v3QuadPoints[0] = D3DXVECTOR3(1.0f, -1.0f, -1.0f); v3QuadPoints[1] = D3DXVECTOR3(1.0f, 1.0f, -1.0f); v3QuadPoints[2] = D3DXVECTOR3(-1.0f, -1.0f, -1.0f); v3QuadPoints[3] = D3DXVECTOR3(-1.0f, 1.0f, -1.0f); with: ////// Face 5: BOTTOM v3QuadPoints[0] = D3DXVECTOR3(1.0f, 1.0f, -1.0f); v3QuadPoints[1] = D3DXVECTOR3(1.0f, -1.0f, -1.0f); v3QuadPoints[2] = D3DXVECTOR3(-1.0f, 1.0f, -1.0f); v3QuadPoints[3] = D3DXVECTOR3(-1.0f, -1.0f, -1.0f); then recompile. Credits:
    2 points
  29. This tutorial is going to teach you how to compile, run and configure a server on Windows. I needed something like this a few days ago and since it doesn't exist, I decided to make it There is no addition or modification in the source or client (except for small bonuses). 0. Beginning At the end of the topic there will be two links where you will need to download: Client + Server + Source MySQL The client is based on the Metin2 Client fur r40250, I just edited it to have the classic format. Regardless the Server and Client source. 1. The files We will need to download the following files: Visual Studio Community 2019 - In order to compile both the server and the binary, we're going to need this MySQL - Connect and create the database 2. Installing The installation is easy enough for me to consider that I don't need to spend much time on this, however I hope this two pictures will facilitate (more) on what you need to do: Visual Studio Community Note: You actually just need the MSVC v142, C++ CMake, C++ ATL, C++ MFC and C++/CLI for this to work MySQL: Warning: In this tutorial we're going to use Mysql Server 5.7.33 X64 but you can (must) upgrade it to 8.0 2.1 Installing Server / Client / Database Here you need to pay attention because there's a limitation: Warning: You must unzip the file "dev" on C:\ If you don't want, follow the Mali61's topic and you need to create manually the symlinks for each core on the server. This is how it should be. Client: There isn't much to say, in pack/ you already have root and locale_de unpacked but since this is going to be localhost only, you don't need to change nothing on the serverinfo.py Bonus: I translated the client to English, just because Database: 1) Windows Key + R and write services.msc 2) Search for MySQL57 (or the version you installed) and click on Stop Since Im portuguese, yeah 3) Go to directory C:\ProgramData\MySQL 4) In the folder MySQL Server 5.7 (or the version you installed) and in the folder Data, paste the files you previously downloaded and unziped from mysql_dev.rar 5) On services.msc, start the MySQL process Back it again with the portuguese Server: These images are referenced in each core's CONFIG and conf.txt, respectively where the location is on directory C:\dev\2. Server. Warning: Don't forget to change the MySQL's user password! You need to put the same password you had when installing the MySQL. 3. Compile Server / Client Source There is nothing introductory since it is something very simple that you will be able to. Server: It's quite simple, to build the server source, we just need to open the file dev_server.sln which is located in C:\dev\1. Svn\Server\build You can build all at once or separately. Bonus: I linked the files to go to the directory C:\dev\2. Server\share\ so you don't need to c&p multiple times. Client: Same as before, open the dev_solution.sln which is located in C:\dev\1. Svn\Client Since I have a good computer, I enabled the multi-processor compilation option. If your computer is very slow while you are compiling, I suggest you deactivate by going to Properties in all the builds. 4. Starting the Server On the main directory of the server (C:\dev\2. Server) you'll have 2 bat files: start.bat* - As the name says, it will start the server clear.bat - It will clear all the server's logs * I forgot the make it dynamic so if you don't want to have on the C:\dev, you'll need to change the directory. Execute start.bat and it will show up first the db.exe, then auth's game.exe and last channel1's game.exe And there you have it, your server is now online! 5. Debug You can debug by going to Debug -> Start New Instance Bonus: I linked everything so you don't have to worry about anything 5. Credits I like to say that I don't know anything about anything and as such, everything here has its credits. @Mali61 - Client/Server compilable with VS2019 (Server & Client) @Karbust - If it wasn't for him, I couldn't have done this ThatGuyPT - The base was from his Windows Serverfiles 6. FAQ Q: Why didn't you use xampp instead of MySQL? A: At the moment I use MySQL a lot even outside of Metin2, so it makes more sense to me that it be this way. However, it is exactly the same, especially on localhost. Q: Can I migrate the source to FreeBSD? A: Yes, you can! As long as you have cmake configured, you can distribute to FreeBSD and use it there. Q: What is the id and password to enter the game? (I put this question because I know there will be someone asking this) A: You can create an account in the database, but you can use id: admin pw: 123 7. Links dev - mysql_dev All In One (Internal) If you have any questions that I can answer, feel free to write a post here.
    2 points
  30. M2 Download Center Download Here ( Internal ) Download Here ( GitHub )
    2 points
  31. M2 Download Center Download Here ( GitHub ) Download Here ( MEGA ) Download Here ( Internal ) Hey M2Dev, here is a little statistics overview of the Round Trip Time (RTT) Ping and Packet Loss. Usefully for some, useless for others, so I decided to share it. Preview The image is an example... The results where not captured accurately because they kept updating while I tried to take screenshots. You will not get any PING on localhost. If you find any problems let me know.
    2 points
  32. M2 Download Center Download Here ( Internal ) Hi, I don't think I have to tell much about this. It'll look like the official one, some code is c&p from the official root files. Most of the own written code is NOT like the offical one. I added a new python module ("renderTarget"), so you don't need methods which officials use, like this: "playerm2g2.MyShopDecoShow( True )" You are able to display more than one render target at the same time. If you want to know more, take a look at the code. If there are any bugs, just message me. Download: [Hidden Content] Password: Cxl.Services
    2 points
  33. M2 Download Center Download Here ( Internal )
    2 points
  34. M2 Download Center Download Here ( Internal ) Hi, As requested by some users i have you a VM with FreeBSD 9.2 32bit, novaline source and pre installed Ports so you can compile the game. It was like 10 minutes of work to enter the commands so no thanks needed. Link: HerpDerp Login: root Pw: dev To compile the game: cd /usr/src/novaline/Srcs/Server/game/src gmake clean gmake -j20 If there are any Problems or questsions you can add me in Skype(l337-5p34k) or Message me here i'll always give you support. Kind regards TheGame €: There are no Serverfiles on this VM because i dont have test serverfiles. If someone have Serverfiles for me i'll implement them and upload an updated version of this VM. €: Updated Link: Thanks to Da'Real Pain
    2 points
  35. M2 Download Center Download Here ( Internal ) Hi everyone, Today I bring you a collection of maps made by Ymir that were included at some point in an official client but were never used. The maps are: GM Guild Building Field Dungeon Ginseng Valley (b2) - Second version of Dragon Valley (Orcs area) Heavenly Valley (c2) - Third version of Dragon Valley (Orcs area) Dragon Timeattack 1 - Dungeon possibly used in Korea, used by SG for Dragon Timeattack event Dragon Timeattack 2 Dragon Timeattack 3 Test map - Actually a town EW02 - ? Guild Inside - Supposed to be the inside of a guild house Milgyo Pass & Sungzi - A collection of alternative maps for Nation War. Requires editing forked_road.txt in order to add them to this event. Siege - Three maps one for each kingdom, for a kingdom event You might also be interested in the Metin2 Korea Naga map available here
    2 points
  36. How to create a Metin2 private server with Metin2 Project - Français Introduction I want to offer Metin2 Project as an alternative to stable and functional server files. Metin2 Project is shaped according to my ideas and my desires, my only limit is my imagination. All changes and fixes to Metin2 Project are made with defines. You can suggest ideas to me but I am free to refuse them without any justification. Summary Important information to know about Metin2 Project. Initial working base => @ Mali & @ TMP4 => TMP4's Project DB & GAME Ready for FreeBSD 32 Bit & 64 Bit Ready for MySQL Server 8 Ready for Microsoft Visual Studio 2022 EN DE HU FR CZ DK ES GR IT NL PL PT RO RU TR Avalable languages Test Environment When developing the project, the following configuration was used. FreeBSD 13.1 64 Bit MySQL Server 8.0.29 LLVM-Devel 15.0.D20220328_1 GDB 11.2 Makedepend 1.0.6,1 GMake 4.3_2 Python 2.7.18_1 Microsoft Visual Studio 2022 Access Credentials No database login credentials are provided. You must set up your own user to administer and manage your Metin2 Project server. The associated tutorial, allows you to create your login credentials to the database, you should be able to get there... Finally, I hope for you. Metin2 Accounts User: playerone User: playertwo User: playerthree User: playerfour User: playefive User: playersix User: playerseven User: playereight User: playernine User: playerten Password: player Changelogs 2022.XX.XX.0001 Spoiler XXX (In Dev, Use TMP4 Projet) Downloads Download the project and enjoy! No virtual machine is provided, you can create it yourself using the associated tutorial. 2022.XX.XX.0001 => Server + Client (In Dev, Use TMP4 Projet) Made With and Metin2 Project
    2 points
  37. M2 Download Center Download Here ( Internal ) Daily Event Winter will come in days so what do you think about daily(or in chosen day) event with Grinch?. Before Grinch spawn game will send 4 notices about time of spawn. After kill daily boss(Grinch in package with map) game will send announcement with info about player who made last hit and kill Grinch. Every participants on this map after kill Grinch will get VIP bonuses for chosen time. Every settings like spawn time, announcement time are easy configurable. If you want fix small bug with displaying time please change this line like bellow: change: ["ANNOUCEMENT_LINE_3"] = "TODAY! About %d:%d he will be on Daily Boss Map."; for: ["ANNOUCEMENT_LINE_3"] = "TODAY! About %02d:%02d he will be on Daily Boss Map."; Announcement and spawn conf: Time in quest dialogs are imported directly from settings in game. If you will set this event only in one day of week then Quest Scroll will hidden in other days. You can simple disable VIP bonuses if you want only drop reward. If you want it only in one day then simply change const value and choose own day. Download & Scan [Hidden Content] [Hidden Content]
    2 points
  38. M2 Download Center Download ( Internal ) Download ( Mega ) Hi Everyone! Making a monster transparent is not a real problem, in some cases even ugly. However, I would like to propose an alternative to classic transparency that can make some monsters more interesting. The idea is to allow some monsters to become visible only in a certain range. In the guide I also added the possibility of making it untargetable up to a minimum distance and the possibility of hiding the monster from the minimap to make it truly camouflaged.
    2 points
  39. M2 Download Center Download Here ( Internal ) Hi, from what I saw some of you are looking for a tutorial wich is showing you how to upgrade the granny version from 2.9 to 2.11.8 so I thought I have a tutorial for you guys. I explained as much as possible that no one has any error. Otherwise any error leave a reply. Thanks in advance and good luck! [Hidden Content]
    2 points
  40. M2 Download Center Download Here ( Internal ) Link download : Mega Link VT: Virus Total Why post: Resellers for me are shits
    2 points
  41. M2 Download Center Download Here ( Internal ) Github
    2 points
  42. Give this guy an award for sharing what I would call “premium systems” with logical and modern coding while he could be selling it for wasting his time and knowledge of the Metin2 sources, instead he does it for free and adores sharing his work with the community. He has over 70 repositories related to Metin2 systems on his GitHub and you can clearly see from the first repositories to the last that he is evolving his skills from each system he develops. I hope you also apply these skills in the real-world programing if you aren’t already. It’s very rare to see developers that are actually talented and have a lot of experience in the Metin2 sources / environment to actually share their knowledge for free. Big thumbs up to you @Mali and to all the other developers that contribute to the private server community because without them we wouldn’t have half of what we have today.
    2 points
  43. M2 Download Center Download Here ( Internal ) Hi guys! I didnt release some map long time ago. So here its small 2x2 map with 2 mobs, boss and metnistone Everything is done and prepared just for install. You need granny 2.9 for the objects and monsters. Dont release it on other forums please. If you will have any problem, dont write me private message, write right here to the topic. I dont offer support for this free map.
    2 points
  44. M2 Download Center Download Here ( Internal ) Hi , A years ago when i was working on one server my idk if he made this code atleast i post here the website it contain: PSD and Code and website is working well 100% Preview of design Download
    2 points
  45. [Hidden Content]
    2 points
  46. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) I have added some necessary visual stuff, although some are just visual. I don't provide basic support for implementation, If you notice that something is missing you can let me know and I will add it. GIF visual: [Hidden Content] [Hidden Content] [Hidden Content]
    2 points
  47. BR v21.1.1.0 Patch (Metin2 Download) Contents: root-meta, dumped binary some extra informations about the upcoming features inside the binary, uiscript and meta. GF v21.0.8 Full Client - AllInOne
    2 points
  48. Another pack I released a while ago on epvp from the game Sevencore. 512x512 DDS. [Hidden Content]
    2 points
×
×
  • 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.