Jump to content

martysama0134

Honorable Member
  • Posts

    613
  • Joined

  • Last visited

  • Days Won

    96
  • Feedback

    100%

Everything posted by martysama0134

  1. I'm not sure if it's already present, but people reported me the /costume could be exploited for crashing every server (even officials as far as I heard) The bug is simple, the command prints the names of the costume's bonuses in chat. If they are missing in cmd_general.cpp fn_string, it returns null and causes a core crash, or if the format doesn't have a single-and-only-one format specifier %d. In here the patch: diff --git a/s3ll_server/README-SERVER.txt b/s3ll_server/README-SERVER.txt index 94f67f8..7d1dd3f 100644 --- a/s3ll_server/README-SERVER.txt +++ b/s3ll_server/README-SERVER.txt @@ -336,6 +336,7 @@ +@fixme180: on cmd_general.cpp; /costume will cause game core crashes if the relative costume bonus ids aren't present inside fn_string or have no %d #@/Server (general) @fixme401: fixed the guild disband time issue diff --git a/s3ll_server/Srcs/Server/game/src/cmd_general.cpp b/s3ll_server/Srcs/Server/game/src/cmd_general.cpp index 739b7fc..740d80d 100644 --- a/s3ll_server/Srcs/Server/game/src/cmd_general.cpp +++ b/s3ll_server/Srcs/Server/game/src/cmd_general.cpp @@ -1871,8 +1871,8 @@ static const char* FN_point_string(int apply_number) case POINT_MALL_ATTBONUS: return LC_TEXT("°ø°Ý·Â +%d%%"); case POINT_MALL_DEFBONUS: return LC_TEXT("¹æ¾î·Â +%d%%"); case POINT_MALL_EXPBONUS: return LC_TEXT("°æÇèÄ¡ %d%%"); - case POINT_MALL_ITEMBONUS: return LC_TEXT("¾ÆÀÌÅÛ µå·ÓÀ² %.1f¹è"); - case POINT_MALL_GOLDBONUS: return LC_TEXT("µ· µå·ÓÀ² %.1f¹è"); + case POINT_MALL_ITEMBONUS: return LC_TEXT("¾ÆÀÌÅÛ µå·ÓÀ² %d¹è"); // @fixme180 float to int + case POINT_MALL_GOLDBONUS: return LC_TEXT("µ· µå·ÓÀ² %d¹è"); // @fixme180 float to int case POINT_MAX_HP_PCT: return LC_TEXT("ÃÖ´ë »ý¸í·Â +%d%%"); case POINT_MAX_SP_PCT: return LC_TEXT("ÃÖ´ë Á¤½Å·Â +%d%%"); case POINT_SKILL_DAMAGE_BONUS: return LC_TEXT("½ºÅ³ µ¥¹ÌÁö %d%%"); @@ -1889,7 +1889,7 @@ static const char* FN_point_string(int apply_number) #ifdef ENABLE_WOLFMAN_CHARACTER case POINT_RESIST_WOLFMAN: return LC_TEXT("¹«´ç°ø°Ý¿¡ %d%% ÀúÇ×"); #endif - default: return NULL; + default: return "UNK_ID %d%%"; // @fixme180 } } You can try to refactor the return type as std::string to print the proper apply_number if you want, but it's not necessary. A special thank to Tunga for being my guinea pig of the day ?
  2. You shouldn't use sftp or mysql@% users with easy passwords. Even if you don't share your machine IP, random bots on the web do this kind of bullshit constantly. https://passwordsgenerator.net/ random #16 should be far enough
  3. std::min<int>(1,0) results in 0. You should use std::max, or, at worst, MINMAX(1, size, 3). I like this way better than filtering them via query. In here a quick&dirty patch:
  4. I disabled those videos because GF was streaking every YT account 6 months ago kinda. I'm currently reuploading them on Vimeo, then I'll update the github repo with the new urls. Edit: Videos reuploaded. You fucked it up in the source. Check PythonApplicationModule.cpp about how you renamed it.
  5. Dunno which version you're using, but check if the item names' length isn't beyond 24 characters.
  6. Updated v1.9 - type6 & mcsp unpack [ty @metin2team]
  7. I think Rubinum got busted by the government and not by GF. They probably earned 500k+€ & evaded paying taxes. So basically GF can only report videos tagged as "metin2", and occasionally they also report p-servers to the governments for tax fraud. WOM had a little company in Romania, and regularly paid taxes.
  8. clean & rebuild at the very least. If the same error reappears, you're missing their definition in the .cpp files.
  9. In /etc/rc.conf you must have this line to generate core dumps: dumpdev="AUTO"
  10. The problem of using this function is that it's not refreshed at re-warp, so it will show an old date.
  11. v1.8 fixed packing/unpacking files/folders with spaces in filenames (issue present only in the .bats)
  12. UPDATED v1.3 added install.bat for installing everything (must be runned as admin) v1.4 added "force_filename_lowercase" config field v1.5 fixed packing of non all-lower-named packs v1.6 fixed extraction of 0kb files v1.7 fixed extraction of 2-len packs names
  13. your mysql server is getting laggy due to the crappy machine hardware (ram or cpu mostly) or your website is opening lots of connection or your machine network is crap
  14. [Hidden Content] Try either 1) the .manifest or 2) to set the dpi scale to 100%
  15. Boost PropertyTree is not a json library (but it uses internally one). It drops tons of functionality from the JSON format. I also think it treats integers as strings. It's 20 times slower than the most used json libraries. Its implementation looks very oldish. It's basically legacy code in its utmost definition. Also, with the new c++ standards, many boost functionality can be replaced quite easily. Boost remains a bloatware for small projects, so I try to avoid it when possible. As for other alternatives, these two are header-only (easily to implement/copy-paste on Extern/include/ or from "pkg install") and much more beautiful: [Hidden Content] [Hidden Content]
×
×
  • 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.