Jump to content

arves100

Wiki Team
  • Content Count

    580
  • Joined

  • Last visited

  • Days Won

    11
  • Yangs

    224 [ Donate ]

arves100 last won the day on March 21

arves100 had the most liked content!

Community Reputation

213 Rampage

6 Followers

About arves100

  • Rank
    Chivalric

Informations

  • Gender
    Male
  • Location
    Italy

Profile

  • Discord
    Arves100#7113

Recent Profile Visitors

2,674 profile views
  1. Amazing tutorial, thanks for sharing. I'd say you miswrote "sql-mode" and "log-bin" file, they should go in my.cnf
  2. THE WAIT IS FINISHED GUYS! @PACI@VegaS™
  3. If you have an issue you should post on QA, what karbust said it's right...
  4. From what I recall (I remember I have read this somewhere), novaline is a modified branch of a guy called Nova who was the first one to get the source in his hand. (It was forked from mainline_rls or dev I think). apart from sources, we used to have different leaks during the years, starting with 2009 server files directly leaked from RunUp.
  5. Chucc bless us all For joining the scam crouse you need to send 2k to @PACI first
  6. I'm taking online courses to scamming held by @PACI, I'm trying to learn new things but the teacher is .......
  7. Rather than having this crap die in my HDD I've decided to share them, they range around 2017-2018 utils.h optimizations (You need a c++11 compiler) utils.h //Replace: out = (long long) strtoull(in, NULL, 10); //To: out = strtoll(in, NULL, 10); //Replace: out = (unsigned long) strtoul(in, NULL, 10); //To: out = strtoul(in, NULL, 10); //Replace: out = (long) strtol(in, NULL, 10); //To: out = strtol(in, NULL, 10); //Add: inline bool str_to_number (unsigned long long& out, const char *in) { if (0==in || 0==in[0]) return false; out = strtoull(in, NULL, 10); return true; } Useless check in char.cpp //From: if(val==0 && val>0) pack.value = val; else pack.value = val; //To: pack.value = val; Random stuff: Colored console messages (Windows only - you can do a nix version by using ansii colors) - this code was made in 2017, the quality definitly shows as it could be extended or make a singular API for console (working for both nix and win) Sample usage: #include "../libthecore/include/winconsole.h" void test_console() { winconsole_set_color(CONSOLE_COLOR_GREEN); //This set the color //You can find the list of all usable color in winconsole.h printf("Test WinConsole\n"); //Print the text with the new color winconsole_resetcolor(); //Always reset color else the console will continue print the same color printf("No color\n"); //Print with default color (WHITE) } winconsole.h (libthecore/include) /* --------------------------------- ARVES100 WinConsole Required for colored console ------------------------------------ */ #ifndef _ARVES100_INCLUDE_WINCONSOLE_HEADER_C_ #define _ARVES100_INCLUDE_WINCONSOLE_HEADER_C_ #define CONSOLE_COLOR_BLACK 0 #define CONSOLE_COLOR_RED 4 #define CONSOLE_COLOR_BLUE 9 #define CONSOLE_COLOR_WHITE 15 #define CONSOLE_COLOR_GREEN 10 #define CONSOLE_COLOR_YELLOW 14 #define CONSOLE_COLOR_PURPLE 13 int winconsole_initialize(); void winconsole_resetcolor(); void winconsole_setcolor(int color); void winconsole_pause(); #endif winconsole.c (libthecore/src) /* ARVES100 COLORED CONSOLE FOR WIN32 CODED 06.01.2017 */ #include "stdafx.h" #if defined(_WIN32) || defined(WIN32) || defined(__WIN32__) #include <Windows.h> #include <stdio.h> #include <stdlib.h> #include "winconsole.h" FILE* fp = NULL; HANDLE StdOut = NULL; int winconsole_initialize() { StdOut = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(StdOut,CONSOLE_COLOR_WHITE); return 0; } void winconsole_resetcolor() { SetConsoleTextAttribute(StdOut, CONSOLE_COLOR_WHITE); } void winconsole_setcolor(int color) { SetConsoleTextAttribute(StdOut, color); } void winconsole_pause() { // Alternativa portatile usando scanf+printf (cstdio) printf("Press any key to continue..."); char ch; scanf("%1c",&ch); } #endif Example usage on log.c (libthecore) /********************************************************/ /* COLORED CONSOLE FOR WIN32 (PRIVATE FREE SYSTEM) */ /* CODED BY ARVES100 (06/01/2017) */ /********************************************************/ //libthecore/src/log.c #define SYSERR_FILENAME "syserr.txt" #define PTS_FILENAME "PTS.txt" #include "winconsole.h" #endif /////////////////////// #else void _sys_err(const char *func, int line, const char *format, ...) { va_list args; time_t ct = time(0); char *time_s = asctime(localtime(&ct)); char buf[1024 + 2]; // \n을 붙이기 위해.. int len; if (!log_file_err) return; winconsole_setcolor(CONSOLE_COLOR_RED); time_s[strlen(time_s) - 1] = '\0'; len = snprintf(buf, 1024, "SYSERR: %-15.15s :: %s: ", time_s + 4, func); buf[1025] = '\0'; if (len < 1024) { va_start(args, format); vsnprintf(buf + len, 1024 - len, format, args); va_end(args); } strcat(buf, "\n"); // log_file_err 에 출력 fputs(buf, log_file_err->fp); fflush(log_file_err->fp); // log_file_sys 에도 출력 fputs(buf, log_file_sys->fp); fflush(log_file_sys->fp); fputs(buf, stdout); fflush(stdout); winconsole_resetcolor(); } #endif /////////////////// void sys_log(unsigned int bit, const char *format, ...) { va_list args; if (bit != 0 && !(log_level_bits & bit)) return; #ifdef __WIN32__ winconsole_setcolor(CONSOLE_COLOR_BLUE); #endif if (log_file_sys) { time_t ct = time(0); char *time_s = asctime(localtime(&ct)); fprintf(log_file_sys->fp, sys_log_header_string); time_s[strlen(time_s) - 1] = '\0'; fprintf(log_file_sys->fp, "%-15.15s :: ", time_s + 4); va_start(args, format); vfprintf(log_file_sys->fp, format, args); va_end(args); fputc('\n', log_file_sys->fp); fflush(log_file_sys->fp); } #ifndef __WIN32__ // log_level이 1 이상일 경우에는 테스트일 경우가 많으니 stdout에도 출력한다. if (log_level_bits > 1) { #endif fprintf(stdout, sys_log_header_string); va_start(args, format); vfprintf(stdout, format, args); va_end(args); fputc('\n', stdout); fflush(stdout); #ifndef __WIN32__ } #else winconsole_resetcolor(); #endif } Teamspeak 3 python interfaces This was a leftover for an old system a pserver told me to make and then simply dropped the idea (TS3 SDK was too expensive) this is what is left to, I don't have any source code in client side and I do not provide any support for this, it's just a working python interface that needs to be finished. Pretty much the same you would achieve if you unpack the root where this system was originally going to be. https://mega.nz/#!TEcSDKrC!5zfWnH6U7m5Nd-jpqvyUhx8p5DFwVr-1p4TTtLqVEIM XMLCreator updated Who does remember the old XML files from Tim's archive? This is an updated version for Tim's 40k archiver that was based from a version of Tim's old 2089 archiver made by some guy on epvp. https://mega.nz/#!KBVyUQpT!sTwvak26DiSWWrjGl4tXD72HPLU8foYmO1zRW9BQ8IY You need ActionScript3 to build this. Wrong comparison on char_skill.cpp:2635 (Required for clang) from: (NULL != pkVictim && SKILL_HORSE_WILDATTACK != dwVnum) ? pkVictim->GetVID() : NULL, ComputeCooltime(iCooltime * 1000), to: (NULL != pkVictim && SKILL_HORSE_WILDATTACK != dwVnum) ? pkVictim->GetVID() : 0, ComputeCooltime(iCooltime * 1000),
  8. Note: This tutorial was originally written on 26-01-2017 for a pserver. Note: I don't have the SDK, I'll notify the admins if I manage to find one (it's missing on the temp forum) Note: AhnLab HackShield is deprecated, it has not received any update since 2013 or similar 1. Extern Go to Extern/include and create a new folder called hackshield (If you already have some files inside that remove all of them) Put the files from (Your HackShield SDK Zip)/Include to Extern/include/hackshield This step must be done on both Client and Server Extern Copy from (Your HackShield SDK Zip)/Lib/Win/x86/MultiThreaded to Extern/lib the following files: (Client only) HShield/HShield.lib AntiCrack/AntiCpXSvr.lib Copy (Your HackShield SDK Zip)/Developer/Lib/Win/x86/Multithreaded/HShield.lib to Extern/lib/HShield_d.lib (Yes you have to rename this) Copy from (Your HackShield SDK Zip)/Lib/FreeBSD/x86/AntiCrack/LibAntiCpXSvr_st.a to Extern/lib (Server only) Create a new file called hshieldLibLink.h in Extern/include/hackshield (Both Client and Server) and put this: #ifndef _HACKSHIELD_INCLUDE_LIBLINK_H_ #define _HACKSHIELD_INCLUDE_LIBLINK_H_ #ifdef _MSC_VER #ifdef _DEBUG #pragma comment(lib,"hshield_d.lib") #else #pragma comment(lib,"hshield.lib") #endif #pragma comment(lib,"HsUserUtil.lib") #endif #endif 2- Client source: Adding /CLR -- Speaicl note: you need to rebuild libjpeg, lzo, cryptopp with /MD and /MDd (defaults are /MT for CryptoPP, /MD for libjpeg and lzo if cmake is being used) You have to edit the VCXProjects Go to C/C++ -> All Options and find /M In Distribute/Release you have to set the "Runtime Library" value to /MD In Debug you have to set that to /MDd Now you have to go on General (In the project settings) and add "Support with Common Language Runtime" to 1 (/clr) Now go on C/C++ -> All Options and find /RTC and change that to "Default" Now go to All Options and write in command line: "/RTC:NO" --- Special note: this step was intended for an old CryptoPP version (I think v5.x?) follow this step only if you receive issues Now rebuild everything and you don't have "mutex is not supported in CLR" error 3. Client source: Adding hackshield Open UserInterface/HackShield.cpp You will find the following lines: (Or something similar at the beginning of the file) #if defined(LOCALE_SERVICE_EUROPE) #define METIN2HS_MONITORING_SERVER_ADDR "79.110.88.84" #elif #define METIN2HS_MONITORING_SERVER_ADDR "79.110.88.84" // GF #endif //#define METIN2HS_MONITORING_SERVER_ADDR "119.192.130.160" //±è¿ë¿í pc Replace all with this: #define METIN2HS_MONITORING_SERVER_ADDR "YOUR IP OF THE MONITOR SERVER" -- Extra note: the monitoring server should be a server used to monitor running instances of HackShield, I never went deeply into this, perhaps you can find some extra information on the HackShield SDK docs Ok now open UserInterface/Locale_inc.h and add this: #define USE_AHNLAB_HACKSHIELD // HackShield #define METIN2HS_INCLUDE hackshield Open HackShield.h and replace: #include "HackshieldLicense.h" with: #include "HackshieldLicense_metin2client.h" Open UserInterface/HackshieldLicense_metin2client.h and replace: #define METIN2HS_EXE_FILE_NAME "metin2client.bin" With: #define METIN2HS_EXE_FILE_NAME "NAME OF THE METIN2 CLIENT.EXTENSION" Example: #define METIN2HS_EXE_FILE_NAME "testclient_arves100.exe" Now you need to setup your project for compile and use without error Open UserInterface Properties page: When you see Common Language Runtime Support (CLR) set it to /clr (If you use anyother it wont compile\link properly) Now go on C/C++ -> Enable C++ exception (sorry for bad translate <.<) Change "Yes (/EHsc)" to "Yes with SEH exceptions (/EHa)" Extra: If you get error on "DEFAULT_HSMS_TIME_OUT not defined" you have to do this: Open Extern/include/hackshield/hshield.h and delete: DEFAULT_HSMS_TIME_OUT Add after: #ifndef _HSHIELD_H_INC #define _HSHIELD_H_INC this: // Fix for compilation error #ifndef DEFAULT_HSMS_TIME_OUT #define DEFAULT_HSMS_TIME_OUT (5 * 1000) // 5ÃÊ #endif - 3. Server Open game/src/Makefile and change this: # HackShield INCDIR += -I../../libhackshield/include LIBDIR += -L../../libhackshield/lib LIBS += -lanticpxsvr to: # HackShield *New* INCDIR += -I../../../Extern/include/hackshield LIBS += -lanticpxsvr_st Open game/src/HackShield_Impl.cpp and edit this line: handle_ = _AhnHS_CreateServerObject("metin2client.bin.hsb"); with this: handle_ = _AhnHS_CreateServerObject("data/<client file name.extension>.hsb"); Open your Auth and Game CONFIGs and add this: hackshield_enable: 1 Extra: "hackshield_first_check_time" and "hackshield_check_cycle_time" are 2 CONFIG variables First check time: it tells after what second the server should ask the first heartbeat of the hackshield Cycle time: it tells after what second the server should ask a heartbeat of the hackshield 4. Client binary You have to copy from (HackShield SDK Zip)/Bin/Win/x86/HShield to Client Binary Folder If you want to use development hackshield (raccomended for Debug or QA) you have all content from (HackShield SDK Zip)/Developer/Bin to (Client Binary Folder)/HShield Remember: Do not distribute the development file (/Developer/Bin/), always use the release (/Bin/) If you want to periodically release updates for your HackShield you have to copy all content from (HackShield SDK Zip)/Bin/Win/x86/Update to your HShield folder on Client Binary Folder 5. Configuring Hackshield We will work on (HackShield SDK Zip)/Bin/Win/x86: We must setup the AntiCrack that will check if the Client integrity is ok AntiCrack/HSBGen.exe will generate our HSB file AntiCrack/HSBHelper.exe will check if the files are ok Explanation: The Output file will be the same name as we setted in HackShield_Impl.cpp before If you had to sign your exe make sure you do that after you used HSBGenerator If you use any other packer than UPX you must have to select "Execute Packet Exe File" Now it will generate a hsb file, put this file on (Server Binary Folder)/data/ You can now check the hsb file with the client to see if everything match We need to tell hackshield witch server he uses to update our HShield files (Only if you want HSUpdate.exe) Open Util/HSUpSetEnv.exe -- Extra note: this is used for updating HackShield content from a remote server, you might want to ship it and do not use HSUpdate.exe Let me explain this application: After you save it will create a HSUpdate.env file witch you have to put on (Client Binary Folder)/HShield Extra: Configuring HSUpdate server If you want to use FTP trasfer method you have to configure a ftp server with username and password you want to use (i won't explain this) You have to copy the folder PatchSet to your webserver Normally when you update your HackShield SDK you will get the update PatchSet for updating your client's HackShield to lateset version Everytime you get an HackShield SDK Update (mine is from 2012) you have to put the new PatchSet and distribute the new client (.exe) Extra: Disabling HS Monitor HackShield.cpp, change the _AhnHS_StartMonitor function to this: #ifdef ENABLE_HACKSHIELD_MONITOR DWORD dwRet = _AhnHS_StartMonitor (HsExtError, szInterfaceFilePath); if( dwRet != ERROR_SUCCESS ) { MessageBox(NULL, MA_T("START_MONITORING_SERVICE_ERROR"), "HACK_SHIELD", MB_OK); } #endif Extra: Customizing names We see before how to customize .hsb file name for Server, Check out Server part if you miss out HSMonitor Client Name and Version can be setted in UserInterface/HackShield.cpp by editing this: strcpy(HsExtError.szGameVersion, "1.0.0.0"); //Game ë²„ì „ strcpy(HsExtError.szUserId, "Metin2User_test"); //ìœ ì € ID If you changed the locale/ folder you also have to edit this: #define PREFIX_LOCALE "locale/" If you want to edit the EhSvc.dll Name and Folder you have to edit this: #ifdef _DEBUG MA_PathMerge(szInterfaceFilePath, MA_ARRAYCOUNT(szInterfaceFilePath), szModuleDirPath, "hshield\\EHsvc.dll"); #else MA_PathMerge(szInterfaceFilePath, MA_ARRAYCOUNT(szInterfaceFilePath), szModuleDirPath, "hshield\\EHsvc.dll"); #endif If you want to change the HShield folder you have to edit this: MA_PathMerge(szFullFilePath, MA_ARRAYCOUNT(szFullFilePath), szModuleDirPath, "hshield"); I don't have any working image or anything to show, I think I can confirm that it should work fine.
  9. So you're telling me that someone has made a quality post? Very good
  10. I'd say some incopatibility between discord rcp and libjpeg, in my opinion you should rebuild libjpeg, for example by using something better like libjpeg turbo and not ijg libjpeg, otherwise check for /MT or /MD.
  11. This problem is related to your library, not the discord-rcp
  12. Well this issue is incompatibility between compilers, if this happen with discord-rpc only then I'd say it's not compatible with it. You can grab and build Discord rpc from here: https://github.com/discordapp/discord-rpc
  13. that looks like some fucked up compiler, what ver. of vstudio are you using?
×
×
  • 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.