Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/08/21 in all areas

  1. M2 Download Center Download Here ( Internal ) There is a bug about the stealth of the assassin with buffs actived. If the players near the assassin that is using the stealth move the camera zoom , the effects become visible again. here the fix of this problem source : myself Sameone could need to add #include "../UserInterface/Locale_inc.h" at the beginning of the file source/EterBase/StdAfx.h to include the defines in Locale_inc.h ------- EDIT ------ Due to some change on client-source someone may require a small fix to be added to this system: // SEARCH void CEffectInstance::__Initialize() { // ADD #ifdef __ENABLE_STEALTH_FIX__ ReleaseAlwaysHidden(); #endif
    6 points
  2. M2 Download Center Download Here ( Internal ) download:
    5 points
  3. I hope you like it, guys!
    5 points
  4. if you use this you will have many visual bugs bug /inv the effects are not displayed [Hidden Content] [Hidden Content] [Hidden Content] and the gm effect is not displayed
    5 points
  5. M2 Download Center Download Here ( Internal ) Download: Password:
    4 points
  6. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Offline Shop - Premium Private Shop System Hi, due to lack of time, I hadn't shared, but ¡Hey!, I'm here and one more contribution. The Official Servers have an Offline for few months ago, so I took on the task of making a similar one, It's not like Official Servers in a some parts of code I think, it does occupy designs and other things but in some issues it's different, but I used the rules that they use in terms of encoding. I hope you like it, I tried that the Offline didn't occupy so many SQL sequences to minimize the load of SQL injections for the server and uses the same methods of the store and stores, don't create new files so that you can observe it. I take this topic to indicate that I don't sell my things because some persons always end up filtering them and it makes me very lazy to think that, I'm selling and providing kind support to good people so that a bad one arrives and simply ends all that, I don't usually give support because I don't received anything... in Yohara's level system some people sent me a message to indicate that there was an error and it was always an error that they installed it wrong, look correctly at the guide and once for real believe that I omitted something in the guide, you can contact me and tell me to fix it, but if it's an installation error and I must install the system for you, I will charge you, I like to help, but I give you a guide so that it is only corrected what I omitted. If you need me to connect it to your code or to add extra functions, I will still charge you, it's not much, it will simply be at your discretion and it will be a voluntary donation for me and my time, you will value how much you give me, it can be 1 EUR, 2 EUR, 3 EUR, 5 EUR I don't know (So I hope you make an effort, I already gave you the most complicated part, is to copy and paste code already done, including other parts for example like Safebox in Safebox part?), Some people were nice and some were not, so I decided to stop placing the rest of Yohara's patches for a few time. I hope you like this, install, test and contact me if you detect an error, I already looked for and corrected everything I observed. About memory leak - Doesn't have, I think . Use WJ_ENABLE_TRADABLE_ICON (public system). The default code in Python is Safebox to avoid code differences. Among other things. I use TRANSMUTATION like TRANSMUTATION, change it to Changelook, as I indicated in some parts of the guide where to change. # Visual Parts You can download the patches from the Official Servers in: Gyazo: [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] GitHub: [Hidden Content]
    4 points
  7. 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
    4 points
  8. Hello! This is a site where you can find an interactive database objects in Metin2. I know there are already so, but this list contains the list of objects to date and in addition has been added search function object name. Link: [Hidden Content] I hope it will help you! Update[19.05.2021]: The site has been updated. (2727 items) All the official items that are currently present have been added. I have also changed the theme of the site. Objects can be found in 16 languages.
    4 points
  9. hp disorder occurs when you call pet help pls [Hidden Content]
    4 points
  10. M2 Download Center Download Here ( Internal ) [Replica] Old Metin2 Website & ItemShop This is a working replica of the old Metin2 website and ItemShop. The project originally made in 2013 for a possible server but we never opened it. For now I just refactored it to be compatible with PHP7/8, tidied the code a little but honestly, expect real old shit procedural style code! While you can use "as is", I highly recommend to check it for old vulnerabilities before you take it live because of it's deprecated nature. The language is hungarian, you can use web.archive.org to speed up your translation. Website: ItemShop: Download: [Hidden Content] Regards, TMP4
    3 points
  11. M2 Download Center Download Here ( Google Drive ) Download Here ( Internal ) I made a collection of official login, loading screens and wallpapers. There are over 100 picture, here is a quick preview: Don't worry, you will find categorized folders at the link, not in bulk. I may extend it in the future since there are more, mostly newer images. Regards, TMP4
    3 points
  12. M2 Download Center Download Here ( Internal ) Hello guys.. So much people got problem with this system then i do FULL TuT exclusive for metin2dev All is tested and all works TuT included in all FILES.. New Link: Pass: When you find some bug post it here.. I will try to fix it.. Have Fun //EnZi EDITED: #New Link UPDATE cmd_general.cpp - Added some new code char_battle.cpp - Added some new code ProtoReader.cpp - Added some new code questlua_pc - Repaired code item_proto - Query for navicat Quest added UP LINK UPDATED fixed quest: [Hidden Content]
    3 points
  13. M2 Download Center Download Here ( Internal ) [Hidden Content] virustotal: [Hidden Content]
    3 points
  14. M2 Download Center Downlaod Here ( Internal ) Download Here ( GitHub ) Please dont flame me. @Mali61 push me to pubblish here. Video
    3 points
  15. 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
  16. M2 Download Center Download Here ( Internal ) Hi all, I thought it would be cool to release something so I dug deep into my old folders and found this partially coded design. That was 7 months ago. Time flies I didn't changed much, just made a bg.psd so you can use the render or the bg somewhere else if you want to. Don't judge me it's from 2018, one of my first designs, the css is quite messy (so I minified it ), the bootstrap version is not the latest etc., and it's not even responsive but it could be. Preview: Download: Have fun with it.
    3 points
  17. M2 Download Center Download Here ( Internal ) To get the ball rolling on this forum, here is a real oldschool release, the original Metin2 client for the chinese Beta in 2004. Download: [Hidden Content]
    2 points
  18. M2 Download Center Download Here ( Internal ) Hey guys, Last night I was kinda playing with granny a bit and this tool was born. I hope it will be useful for most of you! Optimize, change textures, convert to fbx or 3ds, etc... Download: [Hidden Content] Usage: Just drag and drop a gr2 file on the exe and choose what you would like the program to do. P.S.: Don't be surprised if the new gr2 file becomes bigger than it was, it is because this tool saves them without compression for better performance.
    2 points
  19. M2 Download Center Download Here ( CN ) - Download Here ( DE ) - Download Here ( ES ) - Download Here ( KR ) Download Here ( GR ) - Download Here ( IT ) - Download Here ( NL ) - Download Here ( HU ) Download Here ( PL ) - Download Here ( RO ) - Download Here ( SG ) - Download Here ( US ) Download Here ( AE ) - Download Here ( CZ ) - Download Here ( DK ) - Download Here ( FR ) Download Here ( PA ) - Download Here ( PT ) - Download Here ( RU ) - Download Here ( TR ) Download Here ( BR ) - Download Here ( BETA ) - Download Here ( EN ) - Download Here ( MX ) Hey guys, I've stumbled upon some old Metin2 clients on an old DVD, so I thought I'd share them with you. I also included some of the already existing clients on this forum. Table of Contents: Gameforge June 2007: EN December 2008: DE, ES, FR, IT May 2010: DK, EN, ES, FR, GR, HU, NL, PL, PT, RO, TR, US August 2010: PA (Beta) March 2011: TR April 2011: DK, EN, ES, FR, GR, HU, NL, PT, RO, TR, US December 2011: AE, CZ, DE, DK, EN, ES, FR, GR, HU, IT, MX, NL, PL, PT, RO, RU, TR, US March 2012: MX March 2013: EN (13.03.2013), EN (28.03.2013) April 2013: CZ, DE, ES (16.04.2013), ES (17.04.2013), FR (16.04.2013), FR (17.04.2013), IT, PL, RU June 2013: TR September 2013: DK, GR, HU, NL, PT, RO, US, PA (Beta) July 2015: CZ, DE, DK, EN, ES, FR, GR, HU, IT, NL, PL, PT, RO, RU, TR, US Singapore (TEC) April 2012 May 2012 US (G4Box/Z8games) November 2007 April 2008 (repacked) (Original topic here) October 2008 October 2009 April 2011 September 2011 Brasil (Ongame) 2015 (v14) 2016 (v15) April 2018 (v16) July 2018 (v17) February 2019 (v18) April 2019 (v19) May 2019 (v20) August 2019 (v21) Other August 2005: CN Beta client (YMIR) (Original topic here) December 2012: KR (Webzen) (repacked) (Original topic here) 2015 (ver. 0.0.0.1): Gameforge Beta 2019 (ver. 0.0.0.2): Gameforge Beta Pictures: Download Links: Archive.org: [Hidden Content] Torrent download (also using archive.org as a webseed): [Hidden Content] GameForge direct links: Should you have other clients (installers would be great!), please leave a reply to this topic with a download link and I'll happily add them to the collection. Edits: April 20th, 2020: Added many clients from Gameforge's web download server. April 21st, 2020: Added more clients that I've discovered on GF's download server. April 21st, 2020: Added all the clients I could find on GF's server. December 30th, 2023: Reuploaded the collection on archive.org, added Metin2 SG (14.04.2012) client thanks to @ForgiveN March 20th, 2014: Added 2011 & 2012 Gameforge Mexico clients, US April 2011 client, Gameforge August 2010 beta client Cheers, Exynox.
    2 points
  20. M2 Download Center Download Here ( Internal ) Download Here ( Last Version ) Author: Ionuț ( me ) Size: 3.67 MB Version: v2.12 Type: Open-Source Features: Modern design with elements in bootstrap (v4 alpha 3), admin panel (currently in beta), member panel (currently basic systems), update system, registration, general settings in the admin panel, offline system (if the server is offline, notifications will be displayed, also the last copy of the top site), database of news is sqlite, settings files are in json. Language: English & Romanian Preview: Download: [Hidden Content] Documentation : [Hidden Content]/documentation/ Install: Just edit config.php with your datas. CMS is not completely. It will be updated. I expect criticism / opinions / advice constructive. To report an error: [Hidden Content] Tutorial: how to add login with Google reCAPTCHA: [Hidden Content]
    2 points
  21. M2 Download Center Download Here ( Internal 2.9 ) Download Here ( Last Release ) This is an archiver I've created, and it looks quite stable so far. The PackMakerLite (PML) supports type 0-1-2-3-4-5-6. As a summarize, the metin2 types are handled like this: Type 0 - only storage (no encryption/compression; it can be read fully from the .epk) Type 1 - compressed - lzo(file) Type 2 - compressed and encrypted - xtea(lzo(file)) Type 3 - encrypted with Panama - you must save an .iv key server-side in the panama/ folder. (content readable only after auth phase) The official used it only for patch2. Type 4 - encrypted with a mix of ciphers (cshybridcrypt) - you must save a .dat key server-side in the package/ folder. (content readable only after auth phase) Practically all the metin2_patch files. Type 5 - like type 4, but a server-side map/<map_name> is also provided. (content readable only after accessing the <map_name> map as a player) The official used it only for the catacomb data. Type 6 - compressed and encrypted - xtea(snappy(file)) Usage: Its settings (xtea keys, extensions, pack types to use) can be changed inside PackMakerLite.json: You can actually integrate the tool in the menu context (running the .reg files) for packing folders and unpacking .eix files: Remove "--nolog" from the .bat files if you want to see the logs again. Command-line options get overwritten by JSON config options. Last but not least: since the client handles all the filenames in lowercase, this tools automatically converts them as well. Thanks also to: blackdragonx61 / Mali - type4-5 extract code / type 6 compress code metin2team - type6 extract code By martysama0134
    2 points
  22. M2 Download Center Download Here ( Internal ) Description: [Hidden Content] // 1. PythonPlayerInput.cpp // 1.0. Search: void CPythonPlayer::PickCloseItem() { ... } // 1.0. Add after: void CPythonPlayer::PickCloseItemVector() { CInstanceBase * pkInstMain = NEW_GetMainActorPtr(); if (!pkInstMain) return; TPixelPosition kPPosMain; pkInstMain->NEW_GetPixelPosition(&kPPosMain); std::vector<DWORD> itemVidList; CPythonItem& rkItem=CPythonItem::Instance(); if (!rkItem.GetCloseItemVector(pkInstMain->GetNameString(), kPPosMain, itemVidList)) return; if(itemVidList.empty()) return; for(int i = 0; i < itemVidList.size(); i++) SendClickItemPacket(itemVidList[i]); } // 2. PythonItem.cpp // 2.0. Search: bool CPythonItem::GetCloseItem (const std::string& myName, const TPixelPosition& c_rPixelPosition, DWORD* pdwItemID, DWORD dwDistance) { .... } // 2.0. Add after: bool CPythonItem::GetCloseItemVector(const std::string& myName, const TPixelPosition& c_rPixelPosition, std::vector<DWORD>& itemVidList) { DWORD dwCloseItemDistance = 1000 * 1000; TGroundItemInstanceMap::iterator i; for (i = m_GroundItemInstanceMap.begin(); i != m_GroundItemInstanceMap.end(); ++i) { TGroundItemInstance * pInstance = i->second; DWORD dwxDistance = DWORD(c_rPixelPosition.x - pInstance->v3EndPosition.x); DWORD dwyDistance = DWORD(c_rPixelPosition.y - (-pInstance->v3EndPosition.y)); DWORD dwDistance = DWORD(dwxDistance * dwxDistance + dwyDistance * dwyDistance); if (dwDistance < dwCloseItemDistance && (pInstance->stOwnership == "" || pInstance->stOwnership == myName)) { itemVidList.push_back(i->first); } } return true; } // 3. PythonItem.h // 3.0. Search: bool GetCloseMoney(const TPixelPosition & c_rPixelPosition, DWORD* dwItemID, DWORD dwDistance=300); // 3.0. Adauga sub: bool GetCloseItemVector(const std::string& myName, const TPixelPosition& c_rPixelPosition, std::vector<DWORD>& itemVidList); // 4. PythonPlayer.cpp // 4.0. Search and replace: void CPythonPlayer::SendClickItemPacket(DWORD dwIID) { if (IsObserverMode()) return; const char * c_szOwnerName; if (!CPythonItem::Instance().GetOwnership(dwIID, &c_szOwnerName)) return; if (strlen(c_szOwnerName) > 0) if (0 != strcmp(c_szOwnerName, GetName())) { CItemData * pItemData; if (!CItemManager::Instance().GetItemDataPointer(CPythonItem::Instance().GetVirtualNumberOfGroundItem(dwIID), &pItemData)) { Tracenf("CPythonPlayer::SendClickItemPacket(dwIID=%d) : Non-exist item.", dwIID); return; } if (!IsPartyMemberByName(c_szOwnerName) || pItemData->IsAntiFlag(CItemData::ITEM_ANTIFLAG_DROP | CItemData::ITEM_ANTIFLAG_GIVE)) { PyCallClassMemberFunc(m_ppyGameWindow, "OnCannotPickItem", Py_BuildValue("()")); return; } } CPythonNetworkStream& rkNetStream=CPythonNetworkStream::Instance(); rkNetStream.SendItemPickUpPacket(dwIID); } // 5. PythonPlayerModule.cpp // 5.0. Search: PyObject * playerPickCloseItem(PyObject* poSelf, PyObject* poArgs) { CPythonPlayer::Instance().PickCloseItem(); return Py_BuildNone(); } // 5.0. Add after: PyObject * playerPickCloseItemVector(PyObject* poSelf, PyObject* poArgs) { CPythonPlayer::Instance().PickCloseItemVector(); return Py_BuildNone(); } // 5.1. Search: { "PickCloseItem", playerPickCloseItem, METH_VARARGS }, // 5.1.Add after:: { "PickCloseItemVector", playerPickCloseItemVector, METH_VARARGS }, // 6. PythonPlayer,h // 6.0. Search: void PickCloseItem(); // 6.0. Add after: void PickCloseItemVector(); // 7. game.py // 7. Search: player.PickCloseItem() // 7. Replace with: player.PickCloseItemVector() // You can make option for fast pickup or not.
    2 points
  23. M2 Download Center Download Here ( Internal ) 3dsMax 2011 + Activator: Here Plugins GR2 for 3dsmax 2011: Here
    2 points
  24. M2 Download Center Download Here ( Internal ) Advanced Regen Editor I have worked in the past week on a new regen tool(made in C#-WPF) to make the life easier for the mappers/server owner between us. It is an advanced regen tool that includes all the basic functions + new ones such as: mob/group file viewer. Importing regen file. Remember information - Remember the last data entered such as direction, respawn time,count etc. Color Character by color(Mob-Red, Stone-Blue, Boss-turquoise, NPC-Belge, Group-Black). Add a character - Left click. Remove a character - right click on a character dot. Load MOB/Group information - select mob_names.txt/group.txt to view information on a data grid(shown on screen shots below). When choosing a group.txt make sure you have type field set on group. Ctrl Z Feature - Reverse action, that means that if you added a character it will be deleted and if you removed a character it will be added back. Separation of exported files - Files will be exported upon the type of the map character, if you had stone,boss and npc character then stone.txt,boss.txt and npc.txt will be generated. If you find any bugs, please reply here with the bug information in specific details. Please Like this thread if you find my tool useful! Ⓒ Metin2 Guild Wars. Version 1.0 Download Link: [Hidden Content] Update 06/10/2017: Zoom in/out feature has been added. View entities seperately feature has been added. Import regen bug has been fixed. Enjoy! Version 1.1 Download Link: [Hidden Content] Virustotal: [Hidden Content] Enjoy!!
    2 points
  25. M2 Download Center Download Here ( Internal ) Description : The mount will follow you. The bonuses is set from item_proto. [Hidden Content] [Hidden Content] [Hidden Content] Code is based on default pet code from Ymir, i don't offer support for extra features, details, anyway easy for use. (Sorry for tutorial, not so perfect.) Download (Reupload): [Hidden Content]
    2 points
  26. 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
  27. M2 Download Center Download Here ( Internal ) Here I post the GitHub of the owner of Heavenly Hope file. Most of system are unfinished, bad coded, and I think that the better use to this file is take system and modify it, NOT start server with this file. "This project is not finish, you can use this project for optimize your project. You can also update this project by forking it for help me and every other peoples who want to make a server. This project is free to use and cannot be sell for money. I don't take any responsability of selling or bugs or issues." Service.h Local_inc.h Videos:
    2 points
  28. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Github * This version is compatible with GF 21.1.3.0 Settings.json: * I'm using the current settings for convert to 2014 item and mob proto. Password: black
    2 points
  29. GF v21.1.3.0 patch (Metin2 Download) Contents: root-meta, dumped binary, protos New chat filter GUI resources New pet, new costume(Ramadan) + Hairstyle All files unpacked in a folder Soon comes the Looting System resources. Well.. They are so geniuses.
    2 points
  30. You too? You want to create a server of our favorite MMORPG?! You will finally be able to make your dream come true ! This guide is exclusively compatible with Metin2 Project. You are ready? Gooo! Are you a beginner? I suggest you start by creating a server on your computer How to create à Metin2 private server on virtual machine. Summary FreeBSD Environment (Required) Web Environment (Optional) This part is essential, it allows you to prepare, configure your Metin2 Project environment on your FreeBSD Server. All the steps are necessary for the proper functioning of Metin2 Project. Install FreeBSD Spoiler Prerequisites A dedicated server at the host of your choice: Kimsufi, Scaleway, SoYouStart... Retrieve the IP address of the FreeBSD Server Retrieve the password of the root user or the one that was created Retrieve the SSH connection port if it has not been modified: 22 The latest version of FreeBSD that your host can offer you if you have the choice Ready? Gooo! An installation of FreeBSD differs from one host to another, I suggest you follow the default configuration which is still sufficient. Your host, during the installation may ask you to create a user, other than the root system user. In order to continue, your host must provide you with several information to connect to your FreeBSD Server using PuTTY, the IP address of the FreeBSD Server, the username and password, and the port for the SSH Server. Use PuTTY Spoiler Prerequisites Download the latest version of PuTTY Introduction PuTTY is an SSH client, it allows you to connect to your FreeBSD Server in SSH. It's more or less similar to a remote control software like AnyDesk or TeamViewer except that it's used in command line! PuTTY being much more ergonomic for copying and pasting commands... Ready? Gooo! Enter the IP address in the field: Host Name (or IP address) Enter the SSH port in the field: Port (Default: 22) Enter a name you want in the field: Saved Sessions Click on the « SAVE » button to save the connection parameters You must double click on the registered server of your choice to initiate a connection. PuTTY will ask you for the username and password of your FreeBSD user, this corresponds to the credentials provided by your host. It may also ask you to confirm the connection to the SSH Server and indicate a security problem, don't panic and click on « YES ». Download Server Spoiler Prerequisites Download the latest version of the Metin2 Project Server Ready? Gooo! The archive itself is made up of two archives inside: the Metin2 Project Server Files and the Metin2 Project Database. Extract the archive and keep these archives on your computer. Client Spoiler Prerequisites Download the latest version of the Metin2 Project Client Ready? Gooo! The archive itself is made up of three archives inside: the Metin2 Project Tools, the Metin2 Project Client and the Metin2 Project Source Client. Extract the archive and keep these archives on your computer. Configure Resolv Spoiler Introduction This is the resolver library configuration file used to determine, among other things, which DNS Servers your server will use to communicate with the global network. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: ee /etc/resolv.conf Add the following configuration: nameserver 1.1.1.1 nameserver 8.8.4.4 nameserver 8.8.8.8 nameserver 127.0.0.1 Save using the keyboard combination « CTRL + C » then enter: exit SSH Spoiler Introduction We use SSH to connect to the server with PuTTY from the command line or via WinSCP in SFTP for file transfers for example ... We are going to modify the configuration of SSH to allow the root user to connect to it . It's possible that the configuration of your host is the one already described in this guide, in this case, you can ignore the possible modifications. Did your host give you the root user credentials? You can skip this step. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: ee /etc/ssh/sshd_config Search: #PermitRootLogin no Replace: PermitRootLogin yes Save using the keyboard combination « CTRL + C » then enter: exit The configuration of the SSH Server is finished, we will restart the SSH service to apply the changes, run the following command: service sshd restart Restarting the SSH Service will log out of PuTTY, log back into PuTTY using the root user if you haven't already. PKG Spoiler Introduction PKG is a package manager. You can install packages, that is, programs that you can use under FreeBSD. PKG itself is a program. However, during a recent installation of FreeBSD, the package manager may not be enabled or installed by default. An advantage of PKG is the fact that it automatically installs the dependencies of the programs you want to install! It's possible that the configuration of your host is the one already described in this guide, in this case, you can ignore the possible modifications. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: pkg -y If this tells you: Ignore the mismatch and continue ? [ Y / n ] : Enter then validate: y The package manager is now activated, we will do an update, run the following command: pkg update If this tells you: Ignore the mismatch and continue ? [ Y / n ] : Enter then validate: y Débogage Spoiler Introduction We are going to configure FreeBSD so that when any « CRASH » program generates a kernel dump file so that we can debug them, the file will have the same name as the program and it will have the extension “.CORE”. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: ee /etc/sysctl.conf Add at the end of the file: kern.coredump=1 Save using the keyboard combination « CTRL + C » then enter: exit We will restart your FreeBSD Server, run this command: reboot Restarting the FreeBSD Server will result in you disconnecting from PuTTY, wait a few minutes then reconnect to PuTTY. Install MySQL Spoiler Introduction MySQL is a database manager, it's he who saves all the information relating to your accounts, your characters, inventories... It uses what is called the SQL language. Without him we would be nothing! There are other SQL Servers such as PostgreSQL, Oracle, SQLite, MariaDB... As part of Metin2 Project, the database backs up, stores all data relating to your Metin2 Project Server, accounts, characters, inventories, state of quests... Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: pkg install -y mysql80-server mysql80-client Python Spoiler Introduction Python is an interpreted, multi-paradigm, cross-platform programming language. It promotes structured, functional and object-oriented imperative programming. Python is used on the Metin2 Project to compile the game's quests. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: pkg install -y python27 data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== GMake Spoiler Introduction GMake is software that automatically builds files, often executables, or libraries from basic elements such as source code. It uses files called makefiles which specify how to build the target files. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: pkg install -y gmake data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== MakeDepend Spoiler Introduction MakeDepend is a tool used to generate source file dependencies. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: pkg install -y makedepend DevIL Spoiler Introduction Developer's Image Library (DevIL) is a library for developing applications with very powerful image loading capabilities, easy to learn and use for a developer. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: pkg install -y devil data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== GDB Spoiler Introduction GNU Debugger, also called GDB, is the standard debugger for the GNU Project. It's used to analyze kernel dumps when a program terminates due to an unhandled error. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: pkg install -y gdb data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== LLVM Devel Spoiler Introduction CLang is a compiler for the C, C ++, and Objective-C programming languages. Its low-level interface uses LLVM libraries for compilation. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: pkg install -y llvm-devel data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== Use WinSCP Spoiler Prerequisites Download and install the latest version of WinSCP Introduction WinSCP is a graphical SFTP client for Windows. It uses SSH and is open source. The purpose of this program is to enable secure copying of files between a local computer and a remote computer. You will use it to transfer files to it. With WinSCP you will be able to explore the content of your Metin2 Project Virtual Machine as if you were on your computer with Windows and its file explorer. You will find there the files of the FreeBSD operating system, the programs which have been installed, but also, most importantly, the files of our Metin2 Project Server. Ready? Gooo! When you open the program for the first time, it automatically offers you the connection manager: Enter the IP address in the field: Host name Enter the SSH port in the port number: Port number (Default: 22) Enter Username: root: in the field: Username Enter the password for: root: in the field: Password Click on the button: Save... Enter the name you want in the field: Save session as Check the box: Save password (not recommended) Click on the button: OK To initiate the connection, you must double click on the server you have registered. WinSCP will automatically connect with the username and password that have been registered. It may also ask you to confirm the connection to the SFTP Server and announce a security issue, don't panic, click « YES ». Configure MySQL Spoiler Introduction Once installed, it's necessary to configure MySQL so that it starts automatically when your FreeBSD Server starts up, configure users and access to databases! Ready? Gooo! Connect using PuTTY to your FreeBSD Server. We will configure the automatic start of MySQL when you start your FreeBSD Server, run the following command: sysrc mysql_enable="YES" A final configuration in order to be able to use MySQl, run the following command: ee /usr/local/etc/mysql/my.cnf Search: bind-address = 127.0.0.1 Replace: #bind-address = 127.0.0.1 Save using the keyboard combination « CTRL + C » then enter: exit Let's start MySQL using the following command: service mysql-server start If you get this message: Starting mysql... MySQL is started. Initial setting Run the following command: mysql_secure_installation If you get this message: VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin ? Press y | Y for Yes, any other key for No : Enter: n If you get this message: Using existing password for root... Change the password for root ? ((Press y | Y for Yes, any other key for No) : Enter: y It will ask you for a new password, this is the root user password for MySQL: New password : If you get this message: Remove anonymous users ? (Press y | Y for Yes, any other key for No) : Enter: y If you get this message: Disallow root login remotely ? (Press y | Y for Yes, any other key for No) : Enter: n If you get this message: Remove test database and access to it ? (Press y | Y for Yes, any other key for No) : Enter: y If you get this message: Reload privilege tables now ? (Press y | Y for Yes, any other key for No) : Enter: y MySQL is configured and the password for the root user has been changed. Create the databases We need to create the databases so that your Metin2 Project Server can save the information it needs ... Let's get started! We will first connect to MySQL from the command line: mysql -u root -p If you get this message: Enter password : Enter the password you chose earlier then enter the following commands in the sql interpreter: CREATE DATABASE account; CREATE DATABASE common; CREATE DATABASE player; CREATE DATABASE log; CREATE DATABASE hotbackup; You should get for each run, the following message: Query OK, 1 row effected (0.00 sec) Create users MySQL separates access into two types of users: Local ( Localhost ): A local user can connect to the MySQL Server locally and will not be allowed to connect from outside. A local user who tries to connect from outside will have an error indicating that his access is not enabled. Public ( % / IP ): A public user can connect to the MySQL Server locally and externally. The use of the user type depends on the level of security you want to implement. You can also define an IP from which the account is allowed to connect, beware of dynamic IPs. The wildcard % will accept all IPs. Run this series of commands, you can customize the password for the public user metin2_2014: CREATE USER 'metin2_2014'@'localhost' IDENTIFIED WITH mysql_native_password BY '@METIN2!'; CREATE USER 'metin2_2014'@'%' IDENTIFIED WITH mysql_native_password BY 'CHOOSE_YOUR_PASSWORD'; You should get for each run, the following message: Query OK, 0 rows affected (0.00 sec) Manage permissions You have your databases, your users, yet they have no rights, they can't do anything! Run this series of commands: GRANT ALL PRIVILEGES ON account.* TO 'metin2_2014'@'localhost'; GRANT ALL PRIVILEGES ON common.* TO 'metin2_2014'@'localhost'; GRANT ALL PRIVILEGES ON player.* TO 'metin2_2014'@'localhost'; GRANT ALL PRIVILEGES ON hotbackup.* TO 'metin2_2014'@'localhost'; GRANT ALL PRIVILEGES ON log.* TO 'metin2_2014'@'localhost'; GRANT ALL PRIVILEGES ON account.* TO 'metin2_2014'@'%'; GRANT ALL PRIVILEGES ON common.* TO 'metin2_2014'@'%'; GRANT ALL PRIVILEGES ON player.* TO 'metin2_2014'@'%'; GRANT ALL PRIVILEGES ON hotbackup.* TO 'metin2_2014'@'%'; GRANT ALL PRIVILEGES ON log.* TO 'metin2_2014'@'%'; You should get for each run, the following message: Query OK, 0 rows affected (0.00 sec) Run this command to validate the permissions: FLUSH PRIVILEGES; You should get the following message: Query OK, 0 rows affected (0.00 sec) MySQL configuration is complete, let's quit the sql interpreter: exit; Use Navicat Spoiler Prerequisites Download and install the latest version of Navicat Introduction Navicat is a graphical database management and development software suite, it will allow you to manage your databases and the data stored in them. Navicat is not limited to MySQL, it's also able to connect to other SQL Servers such as PostgreSQL, Oracle, SQLite, MariaDB... As part of Metin2 Project, we use MySQL, the database records and stores all data relating to your Metin2 Project Server, accounts, characters, inventories, state of quests... Ready? Gooo! To start the configuration of Navicat, you must click on « CONNECTION » then choose « MYSQL », MySQL is the engine of our database used in Metin2 Project. Logins are available on the topic where you have downloaded Metin2 Project. Enter the name you want in the field: Connection Name Enter the IP address in the field: Host Enter the MySQL port in the field: Port (Default: 3306) Enter the username of a public account in the field: User Name Enter the password associated with your user in the field: Password Check the box: Save password In order to ensure that the connection is established, you can click on the button: « TEST CONNECTION » if you have the message below, everything is good! It only remains to confirm by clicking twice on the buttons: « OK ». To connect to a MySQL Server, you must double click on the name of the previously added server. In the left part of Navicat, to see all the data of your Metin2 Project Server you must click on « TABLES ». To open a data table, also double click on it. Import Databases Spoiler Introduction The databases are empty, it's necessary to import the default data from the Metin2 Project Server. Ready? Gooo! Importing the databases is simple, you have to connect to your MySQL Server using Navicat then open the databases « ACCOUNT »« COMMON »« PLAYER »« LOG »« HOTBACKUP ». Right click on the database: Select the SQL file to import: Configure Account Spoiler Prerequisites Encrypt password Ready? Gooo! Creating an account on your Metin2 Project Server is easy, for that we will use Navicat to connect to the MySQL Server. We are going to modify the « ACCOUNT » table, it's located in the « ACCOUNT » database. To manually add an account from Navicat, you must click on the « + » at the bottom left and fill in the boxes, these fields are the most important, everything else is optional and will be filled in automatically with the default settings: ID: Do not fill, it fills automatically LOGIN: The username of the account we use to connect to the game client PASSWORD: This is the password, which you must first encrypt SOCIAL_ID: This is the code for deleting a character EMAIL: This is the email address of the account CREATE_TIME: Account creation date STATUS: Account status, « OK » or « BLOCK » if he should be banned SECURITYCODE: ? AVAILDT: ? MILEAGE: DC CASH: MD GOLD_EXPIRE: Double Drop Chance for Items SILVER_EXPIRE: 50% More experience SAFEBOX_EXPIRE: More storage space in the Warehouse AUTOLOOT_EXPIRE: A Hand that Automatically Picks Up Yangs FISH_MIND_EXPIRE: The chance of catching a Fish increases MARRIAGE_FAST_EXPIRE: Love points increase faster MONEY_DROP_RATE_EXPIRE: Double Chance of Yang Drop LAST_PLAY: Last login date This ensures that your passwords are not in the clear in your database, a measure of security and confidentiality. Finish by pressing the « ENTREE » key on your keyboard to confirm and save. Assign « GM » permissions Spoiler Ready? Gooo! Adding permissions to a user involves a lot of responsibility, for this we will use Navicat to connect to the MySQL Server. We are going to modify the « GMLIST » table, it's located in the « COMMON » database. To manually add an account from Navicat, you must click on the « + » at the bottom left and fill in the boxes: MID: Do not fill, it fills automatically MACCOUNT: The account ID the one to use to connect with the game client MNAME: This is the name of the character, it must be strictly identical, if it's not yet existing, it does not matter, the important thing here is to choose a name that will be that of your character MCONTACTIP: The box is empty by default, however some explanations: this allows the rights to be assigned to an account according to the player's IP address, this prevents someone from connecting to the account to take advantage of the accesses, to be avoided if the player to a dynamic IP address MSERVERIP: The box is on « ALL » by default, however some explanations: this is in the case where you have several Metin2 servers running on the same FreeBSD Server, this allows you to assign access to a particular server, it requires adding the server IP in the « GMHOST » table MAUTHORITY: This is the level of access rights in play, you can check the access level of an order from the sources of Metin2 GOD: Limited access HIGH_WIZARD: Limited access WIZARD: Limited access LOW_BIZARD: Limited access IMPLEMENTOR: Full access Finish by pressing the « ENTREE » key on your keyboard to confirm and save. You have defined the accesses, you must reload them, two solutions: You have an account with an already existing GM character, you must write this in-game command and disconnect / reconnect the concerned account: « /RELOAD A ». You don't have any GM characters, you have to stop and restart the Metin2 Project Server with the Metin2 Project Shell Manager. At this stage, the server has not started, the next start of the Metin2 Project Server will suffice to update your character's accesses. Install Server Spoiler Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run this command: cd /usr && mkdir m2_project && cd /usr/m2_project The command carries out the following actions: We move our user to the « USR » directory then we create the « M2_PROJECT » folder then we move our user one last time in it. On your computer, you have an archive, you are going to transfer Metin2 Server Project.tar to the /usr/m2_project directory of your FreeBSD Server. Once the transfer is complete, run this command: tar xvf Serveur Metin2 Project.tar Compile Server Spoiler Introduction Metin2 Project needs to be rebuilt in its new environment. Metin2 Project Shell Manager takes care of all manipulations! Ready? Gooo! Run this command: cd /usr/m2_project && sh m2sh.sh Metin2 Project Shell Manager in its full version. Clean Before starting the compilation of the projects, it's necessary to clean the compiled objects. On Metin2 Project Shell Manager, enter: 310 Metin2 Project Shell Manager will perform a complete cleanup of the sources of the Metin2 Project Server. Compile Let's rebuild Metin2 Project, for that, open Metin2 Project Shell Manager: cd /usr/m2_project && sh m2sh.sh You will, compile all the projects, one after the other in this order: 310 309 306 305 304 307 308 303 302 301 Enter one option at a time. Use EterNexus Spoiler Prerequisites Download the latest version of EterNexus Download the Metin2 Project Client Introduction EterNexus is a software which will allow you to decompress and compress the « EIX » and « EPK » archives of the « PACK » folder of your Metin2 Project Client, these archives contain absolutely all the game data, images, texts, models, textures... Ready? Gooo! You have to extract the files from EterNexus and move them to the « PACK » directory of your Metin2 Project Client. You will find a folder with the same name of the archive that you unzipped in the directory where the archive is located. To unzip an archive: EterNexus will recreate a new archive with the same name of the folder and in the same location where the same directory is located. To compress an archive: Configure Client Spoiler Prerequisites Download and install the latest version of Notepad++ Download and install the latest version of WinRAR Introduction It's necessary to link your Metin2 Project Client to your Metin2 Project Server, for this we will enter the IP address of your server within the game client configuration. Ready? Gooo! You must first extract the Metin2 Project Client archive. In order to configure your Metin2 Project Client and link it to your Metin2 Project Virtual Machine, you must configure the IP address within your Metin2 Project Client. You must extract the archive « ROOT » and you will find a multitude of files there, the one that interests us is « SERVERINFO.PY », it contains all the information about your server, the IP address, the name, the port of access... At the beginning of this file, there is a list of sample servers to guide you through the changes. At the beginning of the file you must find the following block: SRV_LOCALHOST = { 'name':'LOCALHOST', 'host':'127.0.0.1', 'auth':11002, 'c1':13001, 'ids':'10', } You need to modify the line similar to 'host':'XXX.XXX.XXX.XXX', You must replace « XXX.XXX.XXX.XXX » by the IP address of your Metin2 Project Virtual Machine then save the changes. After that, you simply need to compress the « ROOT » archive. This means that when you run the Metin2 Project Client, you will need to select the « LOCALHOST » server. Start Server Spoiler Prerequisites Using Metin2 Project Shell Manager Introduction Metin2 Project comes with a powerful program, Metin2 Project Shell Manager. It allows you to manage your Metin2 Project Server with ease! Ready? Gooo! To invoke it, you need to run this command on PuTTY: cd /usr/m2_project && sh m2sh.sh You have a multitude of options available to you that allow you to manage Metin2 Project as simply as possible. Each time you run the above command, you must choose one of these options by entering it and then validating it with the « ENTER » key on your keyboard. Enter: 103 Ready? Gooo! Spoiler Ready? Gooo! It's time for you to materialize in the virtual and wonderful world of Metin2 Project ! Enjoy the great and beautiful Metin2 Project adventure... This part is optional, if you want to install forum or a website for your Metin2 Project Server, it's necessary to prepare your web environment on your FreeBSD Server. It's essential to have configured your domain name in order to assign it a type A record to the IP address of your FreeBSD Server! If you don't have a domain name, you are wasting your time. Install Apache Spoiler Introduction The free software Apache HTTP Server is an HTTP Server, Apache is an open-source and cross-platform web server. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: pkg install -y apache24 PHP Spoiler Introduction PHP Hypertext Preprocessor, known by its acronym PHP, is a free programming language, mainly used to design dynamic web pages through an HTTP Server, but can also function like any language interpreted locally. PHP is an object-oriented imperative language. It can be easily integrated into HTML. We use PHP with its multiple functions in order to be quiet when designing your websites. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: pkg install -y php74 mod_php74 php74-bcmath php74-bz2 php74-curl php74-dba php74-dom php74-enchant php74-exif php74-extensions php74-fileinfo php74-filter php74-ftp php74-gd php74-gettext php74-gmp php74-imap php74-json php74-ldap php74-lz4 php74-mbstring php74-mysqli php74-odbc php74-opcache php74-openssl php74-pdo php74-pdo_mysql php74-pdo_odbc php74-pdo_pgsql php74-pdo_sqlite php74-pgsql php74-pspell php74-readline php74-session php74-simplexml php74-snmp php74-soap php74-sockets php74-sqlite3 php74-tidy php74-xml php74-xmlreader php74-xmlrpc php74-xmlwriter php74-xsl php74-zip php74-zlib php74-zstd Cerbot Spoiler Introduction Let's Encrypt is a certification authority. This authority provides free certificates for the TLS cryptographic protocol by means of an automated process through Certbot, with SSL certificates you can obtain HTTPS on your website. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: pkg install -y py37-certbot py37-certbot-apache Configure Apache Spoiler Introduction Once installed, it's necessary to configure Apache so that it starts automatically when your FreeBSD Server starts up, configure virtual hosts and general parameters. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: sysrc apache24_enable="YES" Let's activate the Apache modules, run the following command: ee /usr/local/etc/apache24/httpd.conf Search: #Include etc/apache24/extra/httpd-vhosts.conf Replace: Include etc/apache24/extra/httpd-vhosts.conf Search: #LoadModule rewrite_module libexec/apache24/mod_rewrite.so Replace : LoadModule rewrite_module libexec/apache24/mod_rewrite.so Search: #LoadModule ssl_module libexec/apache24/mod_ssl.so Replace: LoadModule ssl_module libexec/apache24/mod_ssl.so Search: #ServerName www.example.com:80 Replace: ServerName 127.0.0.1:80 Save using the keyboard combination « CTRL + C » then enter: exit PHP Spoiler Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command to copy the PHP configuration file: cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini Set up PHP for Apache, run the following command: ee /usr/local/etc/apache24/modules.d/001_mod-php.conf This file is blank, add this: <IfModule dir_module> DirectoryIndex index.php index.html <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> </IfModule> Save using the keyboard combination « CTRL + C » then enter: exit Cerbot Spoiler Introduction We will also enable Certbot for automatic certification of SSL certificates for HTTPS using a routine. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: sysrc weekly_certbot_enable="YES" Add the routine by running the following command: echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | tee -a /etc/crontab > /dev/null Virtual Hosts Spoiler Introduction An important step in the configuration of your Web Server under FreeBSD, the creation of the virtual hosts. Thanks to these it will be possible to manage many websites on the same server, for example you would like to have your main domain for the website and a subdomain for your forum? Ah well, it's possible! It's essential to have configured your domain name in order to assign it a type A record to the IP address of your FreeBSD Server! Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: ee /usr/local/etc/apache24/extra/httpd-vhosts.conf Replace the contents of the file with: <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/usr/local/www/apache24/data/domain.com" ServerName domain.com ServerAlias www.domain.com ErrorLog "/var/log/httpd-domain-com-error-log" CustomLog "/var/log/httpd-domain-com-access-log" common </VirtualHost> In our configuration we have: ServerAdmin : It corresponds to your email address, it can be displayed if an error occurs on your website DocumentRoot : It corresponds to the root of the website you are creating, modify domain.com by your domain name ServerName : It corresponds to the domain of the website you configured, modify domain.com by your domain name ServerAlias : It corresponds to the alternate domain of the main domain, mainly used to define the www subdomain ErrorLog / CustomLog : These are the error logs and access logs to your web server from a browser, everything is saved If for example you want a subdomain, add this after the first block: <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/usr/local/www/apache24/data/subdomain.domain.com" ServerName subdomain.domain.com ErrorLog "/var/log/httpd-subdomain-domain-com-error-log" CustomLog "/var/log/httpd-subdomain-domain-com-access-log" common </VirtualHost> In our configuration what changes? DocumentRoot : It corresponds to the root of the website you create, modify subdomain.domain.com by your subdomain name! ServerName : It corresponds to the domain of the website you configured, modify subdomain.domain.com by your subdomain name! Save using the keyboard combination « CTRL + C » then enter: exit We are going to create the directories of our websites according to the domain name: understand that the directories below are the roots of your websites, this is where you will have to install your websites! mkdir /usr/local/www/apache24/data/domain.com mkdir /usr/local/www/apache24/data/subdomain.domain.com Then we will give back what belongs to Apache, its directories: chown -R www:www /usr/local/www/apache24/data Restart Apache: service apache24 restart If you get this message: Performing sanity check on apache24 configuration : Syntax OK Starting apache24... Congratulations... HTTPS Certification Spoiler Introduction HTTPS was invented in order to meet the integrity and confidentiality needs of the data exchanged and especially the authentication of the server. HTTPS is then useful to prevent the theft of information on the website by malicious third parties. When an Internet user visits an unsecured website with his browser, he will see the word unsecured in red in the address bar. This warning could encourage him to fear the website and to leave it to visit another ... It's important to provide your domain name with a security certificate. We will be using Certbot by Let's Encrypt. Let's Encrypt is a certificate authority launched on December 3, 2015. This CA provides free X.509 certificates for the TLS cryptographic protocol through an automated process. Ready? Gooo! Connect using PuTTY to your FreeBSD Server then run the following command: certbot --apache When using Certbot for the first time, you should obtain: Enter email address ( used for urgent renewal and security notices ) ( Enter 'c' to cancel ) : You must enter an email address, Let's Encrypt warns you if a problem occurs with your certificate or its validity. Please read the Terms of Service at [...] order to register with the ACME server [...] ( A ) gree / ( C ) ancel : Enter: a If you get this message: Would you be willing to share your email address [...] and ways to support digital freedom. ( Y ) es / (N ) o : Enter: n If you get this message: Which names would you like to activate HTTPS for ? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 : domain.com 2 : subdomain.domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and / or spaces, or leave input blank to select all options shown (Enter 'c' to cancel ) : Enter the number corresponding to the domain to be certified: 1 or 2 If you get this message: Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 : No redirect - Make no further changes to the webserver configuration. 2 : Redirect - Make all requests redirect to secure HTTPS access. Choose this for new websites, or if you're confident your website works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [ 1 - 2 ] then [ enter ] ( press 'c' to cancel ) : Indeed, automatic redirection from HTTP to HTTPS is recommended, enter: 2 You must obtain: Obtaining a new certificate Performing the following challenges: http-01 challenge for domain.com Waiting for verification... Cleaning up challenges IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /usr/local/etc/letsencrypt/live/domain.com/fullchain.pem Your key file has been saved at: /usr/local/etc/letsencrypt/live/domain.com/privkey.pem Your cert will expire on 2099-12-31. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /usr/local/etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: [Hidden Content] Donating to EFF: [Hidden Content] You must repeat the certification for each domain name. Use World Wide Web Spoiler Introduction The goal is to show you where the root directories of your websites are. Ready? Gooo! In our example, we have created a main domain and a subdomain: domain.com /usr/local/www/apache24/data/domain.com subdomain.domain.com /usr/local/www/apache24/data/subdomain.domain.com You must place there, in these directories: your forum, website ... It's the root document of each of your virtual hosts. The configuration of a forum, of a website being specific to each application, will not be specified in this guide. Made With and
    2 points
  31. -tutorial for fixing 3ds max7's visual bugs on windows 10 OS -3ds max 7 with gr2 exporter plugin for version 2.6 [Hidden Content] or [Hidden Content] -3ds max 13 with gr2 exporter plugins for version 2.9.12 [Hidden Content] -3ds max 18 with gr2 exporter plugin for version 2.11.8 [Hidden Content]
    2 points
  32. Hello, I want to introduce you my Instant equip funciton. It is mini release (easy to make and somebody maybe finds it useful) This function instantly-equips (if slot is not already equiped) items. You can use it for quests like "first login" (sample in pictures below). Link: HERE or click on Signature (Section Free Stuff) Enjoy.
    2 points
  33. [Hidden Content] That's it
    2 points
  34. I havent tryed it out but Boris the creator of the ENB Series has a dx8 to dx 9 converter: [Hidden Content] Dont know if that would work. But if Metin2 can be upgraded to DX9 we could maybe use SweetFX aswell to add SMAA (In my opinion the best Anti Aliasing)
    2 points
  35. Download Metin2 Download Hello maniacs, I've made this post mostly to share knownledge, studies or questions about the Metin1 Server files (2008) I personally tried, and failed, to start the files correctly on a modern FreeBSD machine (due to issues with localization) I suppose some patching to the game will be required to get that running. This is the link to the server files: If you install FreeBSD 5 + Mysql 4 it should work I'll try to update this topic when I have time with some stuff I found on the files, but everyone can join I guess Here's some stuff I've discovered: Command lines "(-- )( --)" -> full screen "( --)(-- )" -> windowed Root files if the file "newpatch.exe" is found, MTS will launch "MetinPatchUpdater.exe" This behavour is similar to what METIN2 does when it launches PatchUpdater.exe is newpatch.exe is found if a file called "console" is found, MTS will create a probably DEBUG console If you create a file called "patch.exe" MTS will try to move "patch.exe" into "metin.exe" Tar unpacker This is a quick python unpacker of MTS files [Hidden Content] You can also find a complete explaination of the file format here: [Hidden Content] Good luck with your experiments
    1 point
  36. M2 Download Center Download Here ( Internal ) VirusTotal Download
    1 point
  37. I think this is really subjective for every single person If you look to the stuff GF release these days, its not fitting into old Metin style anymore. But i completly understand to what you wrote!
    1 point
  38. I saw this feature on a romanian private server. To avoid the spam you could do a countdown timer to disable the button for 10 seconds or whatever. Demo: [Hidden Content] uiinventory.py: self.wndBeltInventoryLayer = None self.wndBeltInventorySlot = None self.expandBtn = None self.minBtn = None ##activateall self.UseItemBelt = None self.expandBtn = self.GetChild("ExpandBtn") self.minBtn = self.GetChild("MinimizeBtn") ##activateall self.UseItemBelt = self.GetChild("UseBeltItemsButton") self.expandBtn.SetEvent(ui.__mem_func__(self.OpenInventory)) self.minBtn.SetEvent(ui.__mem_func__(self.CloseInventory)) ##activateall self.UseItemBelt.SetEvent(self.ActivateAll) self.wndBeltInventorySlot.RefreshSlot() ##activateall def ActivateAll(self): for i in xrange(item.BELT_INVENTORY_SLOT_COUNT): slotNumber = item.BELT_INVENTORY_SLOT_START + i net.SendItemUsePacket(slotNumber) Beltinventorywindow.py: import uiScriptLocale import item EQUIPMENT_START_INDEX = 90 BUTTON_ROOT = "d:/ymir work/ui/public/" window = { "name" : "BeltInventoryWindow", ## 600 - (width + 오른쪽으로 부터 띄우기 24 px) "x" : SCREEN_WIDTH - 176 - 148, "y" : SCREEN_HEIGHT - 37 - 565 + 209 + 32, # "x" : -148, # "y" : 241, "width" : 148, "height" : 169, "type" : "image", "image" : "d:/ymir work/ui/game/belt_inventory/bg.tga", "children" : ( ## Expand Buttons { "name" : "ExpandBtn", "type" : "button", "x" : 2, "y" : 15, "default_image" : "d:/ymir work/ui/game/belt_inventory/btn_expand_normal.tga", "over_image" : "d:/ymir work/ui/game/belt_inventory/btn_expand_over.tga", "down_image" : "d:/ymir work/ui/game/belt_inventory/btn_expand_down.tga", "disable_image" : "d:/ymir work/ui/game/belt_inventory/btn_expand_disabled.tga", }, ## Belt Inventory Layer (include minimize button) { "name" : "BeltInventoryLayer", # "type" : "board", # "style" : ("attach", "float"), "x" : 5, "y" : 0, "width" : 148, "height" : 169, "children" : ( ## Minimize Button { "name" : "MinimizeBtn", "type" : "button", "x" : 2, "y" : 15, "width" : 10, "default_image" : "d:/ymir work/ui/game/belt_inventory/btn_minimize_normal.tga", "over_image" : "d:/ymir work/ui/game/belt_inventory/btn_minimize_over.tga", "down_image" : "d:/ymir work/ui/game/belt_inventory/btn_minimize_down.tga", "disable_image" : "d:/ymir work/ui/game/belt_inventory/btn_minimize_disabled.tga", }, ## Real Belt Inventory Board { "name" : "BeltInventoryBoard", "type" : "board", "style" : ("attach", "float"), "x" : 10, "y" : 0, "width" : 138, "height" : 169, "children" : ( ## Belt Inventory Slots { "name" : "BeltInventorySlot", "type" : "grid_table", "x" : 5, "y" : 5, "start_index" : item.BELT_INVENTORY_SLOT_START, "x_count" : 4, "y_count" : 4, "x_step" : 32, "y_step" : 32, "image" : "d:/ymir work/ui/public/Slot_Base.sub" }, ##activateall { "name" : "UseBeltItemsButton", "type" : "button", "x" : 0, "y" : 138, "horizontal_align" : "center", "default_image" : BUTTON_ROOT + "AcceptButton00.sub", "over_image" : BUTTON_ROOT + "AcceptButton01.sub", "down_image" : BUTTON_ROOT + "AcceptButton02.sub", }, ), }, ) }, ), } I’m not a python expert so if you can improve the code you are welcome to do so.
    1 point
  39. TIMER_BASED_ON_WEAR how to?? it don't work now xd [Hidden Content] ??????
    1 point
  40. For anyone who wants to reload 'shopex' & 'shopex_item' using /reload p (works on the db/mysql version only) 1. You must have this 2. game/src input_db.cpp 3. db/src ClientManager.cpp And that's it Proof
    1 point
  41. i have a problem with daily gift system, when i click nothing happen... dont know why, i compare to other files with that system working. at source all the same... my game.py file: [Hidden Content] the system game.py explanation: [Hidden Content]
    1 point
  42. Idk for me works the downloads links , here for round icons [Hidden Content]
    1 point
  43. M2 Download Center Download Here ( Internal ) Password: metin2.dev Hi guys, its small release Granny Converter to 2.11.8 version Download: Github Src: Github Virustotal click Note: The folder name can not contain spaces. Example: "...\converter\old\ymir work\monster" -> "...\converter\old\monster" If you find any shortcomings write in the comments... sorry for my english
    1 point
  44. Hey! i have this tutorial [Hidden Content] and i want create time limit for opening chests but... i don't know where i can put this. Someone can help?
    1 point
  45. These should be your fault, because I never experienced those problems, still under developing neither. Uploading(available in next 30 mins): [Hidden Content] Btw: Shiro2/3 is using this a long time ago.
    1 point
  46. It isn't work for actual protos. DL: Epack32
    1 point
  47. M2 Download Center Download Here ( Internal ) Hi everyone, here is the new patch from Metin2 DE, Snow Dungeon unpacked. Kind regards iCoredump 1. Metin2DE_Clientside - 20.05. Snow Dungeon 2. Metin2DE_Serverside - 24.05. Snow Dungeon
    1 point
×
×
  • 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.