The last time this document has been modified is 2020/06/29 05:05:44

For further information Check the current status.
  • update Svfiles Scripts v3
    1. Ported to Python3
    2. Moved baks outside main
    3. Added baks/dbrev in order to revision non-user data line by line
    4. Added restart option in admin_panel.sh
  • update SourceFiles Update v10.0 Server (incoming)
    1. Currently compiling on the latest Freebsd version 64bit on 64bit mode (tested for 1 year, stable af) (freebsd 11.2, clang 6)
    2. A total refactoring of the code:
      1. Remodernized the old error prone code replacing it with the new c++17 features
      2. All the types have been standardized
      3. All the code styles have been standardized
      4. Removed much dead code such as:
        1. passpod
        2. openid
        3. teen packet
        4. auction
        5. vcard
        6. netmarble
        7. auth_brazil
        8. pcbang
        9. serverkey
        10. hshield
        11. xtrap
        12. unit tests
        13. runup matrix card quiz (securitycode)
        14. limit_time
        15. login_sim
        16. auth sms
        17. various if (false)
        18. commented code
      5. Removed many unused server defines:
        1. __AUCTION__
        2. __UNITTEST__
        3. DEBUG_ALLOC
        4. ENABLE_GOOGLE_TEST
        5. ENABLE_HSHIELD_SYSTEM
        6. ENABLE_LIMIT_TIME
        7. ENABLE_XTRAP_SYSTEM
        8. M2_USE_POOL
        9. ...others...
      6. Reduced the usage of memset by 99%
      7. Reduced the usage of raw FILE ptr by 99%
      8. Reduced the usage of value_type by 100%
      9. Sanatized all the print format arguments (and allowed check at compile-time for custom m2 print functions
      10. Disabled all the unused arguments from the functions
      11. Wrapped many raw pointers using smart pointers
    3. Developed a plugin system to allow developers to write unstealable code on my source files
    4. New server constants:
      1. EVENT_MOB_RATE_LIMIT [int] //the maximum value settable for the mob_rate event (1000 default)
      2. PRIV_EMPIRE_RATE_LIMIT [int] //the maximum rate value settable for the priv empire (200 default)
      3. PRIV_EMPIRE_TIME_LIMIT [int] //the maximum time value settable for the priv empire (1 week default)
      4. PRIV_GUILD_RATE_LIMIT [int] //the maximum rate value settable for the priv guild (50 default)
      5. PRIV_GUILD_TIME_LIMIT [int] //the maximum time value settable for the priv guild (1 week default)
      6. PRIV_PLAYER_RATE_LIMIT [int] //the maximum rate value settable for the priv player (100 default)
    5. New server fixes:
      1. ...a lots more...
    6. New miscellaneous changes:
      1. Db and DumpProto now read the .txt proto flags from .json
      2. ...a lots more...
    7. New Server Extern upgrades:
      1. --- main ---
      2. boost 1.68.0 (all-minimal)
      3. cryptopp 7.0.0
      4. IL 1.8.0.1
      5. libjpeg 9c
      6. lzo 2.10
      7. minilzo 2.10
      8. --- additional ---
      9. libfmt 5.1.0
      10. optionparser 1.7
      11. rapidjson 1.1.0
      12. msl (latest)
    8. New lua functions:
      1. every lua function with 0 has an alias without it
    9. New defines:
      1. ENABLE_QUEST_BOOT_EVENT //add quest event "boot" triggered when the game starts up
    10. ...list to be completed...
  • update SourceFiles Update v10.0.1465 Client (Unreleased)
    1. Removed defines:
      1. LOCALE_SERVICE_JAPAN
      2. LOCALE_SERVICE_
    2. Added defines:
      1. ENABLE_WHISPER_TEXT_ITALIC //whisper from gm will have italic text
      2. ENABLE_PACK_TYPE_MCSP //to read the new official packs/protos packed with snappy compression
    3. implemented official r171 item_proto struct
    4. added new unk types in dumpproto.json
  • update SourceFiles Update v10.0.1441 Client
    1. Added defines:
      1. ENABLE_NO_PICKUP_LIMIT //if enabled, there will be no 0.5s of delay when picking up items with keyboard (\\z)
    2. fixed some compilation issues when disabling some defines
    3. cleared more dead code
    4. localeinfo uiscriptlocale refactory
    5. missing jewel 17570 in root
    6. system cython pack.Exist fixed n cleaned
    7. vs2019 compatibility n \\z fixes
    8. client compilation with /o2 and /inline
    9. ENABLE_NO_RECV_GAME_LIMIT is now being rewritten and turned into a @warme
    10. integrated v4 sql queries
    11. integrated v4 ENABLE_CRASH_MINIDUMP as alternative to ENABLE_CRASHRPT
    12. integrated v4 ENABLE_SEQUENCE_SYSTEM
    13. integrated v4 cryptopp 8.2
    14. root fix items with no remain time were showing "remain time 0" in shops
    15. a lot more fixes
  • update SourceFiles Update v10.0.1394 Client
    1. Removed unused defines:
      1. CHECKSUM_CHECK_MD5
      2. __MAKE_PACK__
    2. m_pWorkMem refactory
  • update SourceFiles Update v10.0.1389 Client (some details may be missing)
    1. A total refactoring of the code:
      1. Remodernized the old error prone code replacing it with the new c++17 features
      2. All the types have been standardized
      3. All the code styles have been standardized
      4. Removed much dead code such as:
        1. passpod
        2. openid
        3. teen packet
        4. auction
        5. vcard
        6. netmarble
        7. auth_brazil
        8. pcbang
        9. serverkey
        10. hshield
        11. xtrap
        12. unit tests
        13. newcibn
        14. runup matrix quiz card (securitycode)
        15. limit_time
        16. login_sim
        17. auth sms
        18. various if (false)
        19. commented code
        20. main args -hackshield -perf_game_update -newpatch
      5. Removed many unused defines:
        1. __20040725_CAMERA_WORK__
        2. __ATTACK_SPEED_CHECK__
        3. __AUCTION__
        4. __IS_TEST_SERVER_MODE__
        5. __PERFORMANCE_CHECK__
        6. __PERFORMANCE_CHECKER__
        7. __THEMIDA__
        8. __UNITTEST__
        9. __VTUNE__
        10. __WINDOW_LEAK_CHECK__
        11. _PACKETDUMP
        12. _TEST
        13. ATTACK_TIME_LOG
        14. CHECK_LATEST_DATA_FILES
        15. GAIDEN
        16. LOCALE_SERVICE_GLOBAL
        17. LOCALE_SERVICE_VIETNAM_MILD
        18. PERF_CHECKER_RENDER_GAME
        19. USE_AHNLAB_HACKSHIELD
        20. USE_NPROTECT_GAMEGUARD
        21. USE_OPENID
        22. USE_SPEEDGRASS
        23. USE_VIETNAM_CONVERT_WEAPON_VNUM
        24. XTRAP_CLIENT_ENABLE
      6. Reduced the usage of memset by 99%
      7. Reduced the usage of raw FILE ptr by 99%
      8. Reduced the usage of value_type by 100%
      9. Sanatized all the print format arguments (and allowed check at compile-time for custom m2 print functions
      10. Disabled all the unused arguments from the functions
      11. Wrapped many raw pointers using smart pointers
    2. New client defines:
      1. ENABLE_ATLAS_MARK_INFO_LOAD // enable atlas mark info load (disabled by default)
      2. ENABLE_CRASHRPT // all client crashes are handled by crashrpt2 instead of errorlog
      3. ENABLE_GRANNY_STATIC // granny2.9/2.11 can be included statically (granny2.dll no more required)
      4. ENABLE_NO_PVP_PULLING_EFFECT // it removes pvp pulling effect (experimental; disabled by default)
      5. ENABLE_NO_RECV_GAME_LIMIT // it totally removes status/mount/item/equip/skill lag, and much more!
      6. ENABLE_RETRY_CONNECT // retry to reconnect to server after one second for three times
      7. ENABLE_SINGLETON_INFORMATION // it prints a message if the singleton is not initialized (enabled on debug target)
      8. ENABLE_SYSERR_BY_PID // create syserr-{pid}.txt instead of syserr.txt (disabled by default)
      9. ENABLE_WINDOW_RESET_AUTOATTACK // autoattack is stopped when switching windows (disabled by default)
    3. New fixes:
      1. __DEBUG__ macro fixed (IsDebugMode in root is now handled correctly)
      2. the camera rotation handle will now be released when switching/minimizing the client window
      3. "CREATE_NO_APPROPRIATE_DEVICE" bug related to screen resolution (but not drivers) fixed
      4. "RESOURCE NOT SUPPORTED" now treated as normal log
    4. New Client Extern upgrades:
      1. --- main ---
      2. boost 1.68.0 (all-minimal)
      3. cryptopp 7.0.0
      4. granny2 (2.4 2.7 2.8 2.9 2.11 + static 2.9 2.11)
      5. IL 1.8.0.1
      6. libjpeg 9c
      7. lzo 2.10
      8. minilzo 2.10
      9. python2 (2.7.15) (removed 2.2.3) (token macros disabled)
      10. --- additional ---
      11. libfmt 5.1.0
      12. optionparser 1.7
      13. rapidjson 1.1.0
      14. msl (latest)
  • update SourceFiles Update v5.1 (v5-ex-r154)
    1. ENABLE_ATLASINFO_FROM_ROOT enabled by default
    2. new define ENABLE_LOAD_ITEM_LIST_FROM_ROOT //load item_list.txt from root
    3. new define ENABLE_NUMERIC_FIELD //txt protos now can read numbers instead of tags as well
    4. Protos/txt/msm updated to v20.2.5 client
    5. Patches in pack renamed as "special_patch_XXX"
    6. Remain fixes for svfiles script ported to python3
    7. Fix acce position when mounting (ex-only)
    8. Fix acce slot effects at rewarp (ex-only)
    9. Implemented sash official item_scale.txt format (ex-only)
    10. Acce display fix (85000+/86000+) (ex-only)
    11. Acce Absorb calculation fix (ex-only)
  • update SourceFiles Update v5.0 (v5-ex-r131)
    1. Removed every korean comment
    2. Improved packet speed
    3. Fixed missing some hair icons in tooltip
    4. Fixed costume/hair downer
    5. Fixed items with weird size (e.g.)
    6. Fixed windows server compilation (again)
    7. Fixed windows server skill display (old bug)
    8. Fixed some broken snprintf
    9. Removed AUCTION
    10. Rewritten acce's slot management (ex-only)
  • update SourceFiles Update v4.9.89 (v4-ex-r88 is based on this rev)
    1. ENABLE_MOUNT_ENTITY_REFRESH improved
    2. ENABLE_NO_PICKUP_LIMIT from v10
    3. ENABLE_SEQUENCE_SYSTEM from v10
    4. New fixes:
      1. fixed fixme138 when compiling server on windows
      2. fixed PyLong_AsUnsignedLong causing glitches in rare occasions
      3. vs2019 pragma warning fix
      4. __DEBUG__ root fix
      5. vs2019 \\z fix
      6. fix player.item window query tag
    5. New miscellaneous stuff:
      1. exptable n privsettings with myisam
      2. stop.py new waits for ./db to stop before exiting
      3. client compiled with /o2 and /inline
  • update SourceFiles Update v4.9.72 (Unreleased)
    1. ENABLE_ITEMAWARD_REFRESH is enabled by default
    2. ENABLE_NEWGUILDMAKE is disabled by default
    3. New fixes:
      1. missing checks for mythical peach
      2. missing condition on special mineral slots
      3. FCountMonster was also counting horses and pets
      4. FNotice was sending ChatPackets to even non-player characters
    4. New miscellaneous stuff:
      1. removed PREMIUMCHAN define
      2. symlink s3llsrcall to s3ll_server
  • update SourceFiles Update v4.9.65
    1. updated readmes and placed the 4 repos in a single one
    2. added some missing fixes
    3. client fix to allow .png textures
    4. server fix for unnamed timers
    5. server define ENABLE_MOUNT_ENTITY_REFRESH for sync workaround
    6. new lua functions syserr2 syslog2 for server_timer usage
    7. Cryptopp client upgraded to 8.2.0
  • update SourceFiles Update v4.9.40
    1. Server now compilable on freebsd 12 with gcc8
    2. Client now compilable with visual studio 2019
    3. fixed some crashes in dump_proto
  • update SourceFiles Update v4.9.32 (fixing it up)
    1. Now compilable on native freebsd clang compiler
    2. server mysql_hash_password issue fixed for windows
    3. Cryptopp upgraded to 8.1.0
  • update SourceFiles Update v4.9.30
    1. New define:
      1. ENABLE_CRASH_MINIDUMP // it will generate a debuggable client\logs\m2client_{version}_{date}.dmp file instead of "??????"
    2. New miscellaneous stuff:
      1. linking warning 4099 fix
      2. removed VTune MfcDebug MfcRelease targets
  • update SourceFiles Update v4.9.26
    1. New define:
      1. ENABLE_SEQUENCE_SYSTEM // it enables the sequence system
    2. New fixes:
      1. fix of underflow exp formula on very rare specific cases (which gives 10% of exp)
  • update SourceFiles Update v4.9.12
    1. fixed mysql2proto and dumpproto compilation with mfc not installed
  • update SourceFiles Update v4.9.10
    1. fixed server compilation on vs2017 (as .exe)
  • update SourceFiles Update v4.9.8
    1. compilable on freebsd 12.0 32bit using gcc6
    2. libserverkey removed
  • update SourceFiles Update v4.9.6
    1. compilable on freebsd 11.2 32bit using gcc6
    2. Extern updated:
      1. libdevil gcc6 i386
  • update SourceFiles Update v4.9.4
    1. gcc 6.3.0
    2. c++11 full support
    3. Extern updated:
      1. boost-1.68
      2. cryptopp-7.0.0
  • update SourceFiles Update v4.9.2
    1. Extern updated:
      1. boost-1.67
      2. cryptopp-5.6.5 (7.0.0 is out)
      3. IL-1.8.0.1
      4. lzo-2.10
      5. libjpeg-9c
      6. granny2 (2.4, 2.7, 2.8, 2.9, 2.11)
      7. python2 (2.7)
      8. rapidjson (for mysql2proto)
      9. libmysql (for mysql2proto)
  • update SourceFiles Update v4.9
    1. Extern updated:
      1. boost-1.66 (1.67 is out)
      2. cryptopp-5.6.5 (7.0.0 is out)
      3. IL-1.8.0.1
      4. lzo-2.10
      5. libjpeg-9c
      6. granny2 (2.4, 2.7, 2.8, 2.9, 2.11)
      7. python2 (2.2, 2.7)
      8. rapidjson (for mysql2proto)
      9. libmysql (for mysql2proto)
  • update SourceFiles Update v4.8
    1. VS2017 fully supported
    2. Granny2.11 fully supported
    3. Mob Proto struct r275 fully supported
  • update SourceFiles Update v4.7
    1. New fixes:
      1. Lycan will now load another alternative wait.msa as well like the official
      2. The Dragon Soul was "unpromptingly" unequipping the ds stone if drag&dropped on inventory/other ds equipped slots
      3. The Dragon Soul was replacing the destination pos's ds slot, if not empty, when unequipping
      4. If the first slot of the Dragon Soul's sub inventory wasn't empty, the trade would fail as "not enough space in inventory" if ds stones of the same kind were present in the exchange
  • update SourceFiles Update v4.6
    1. New define:
      1. ENABLE_CMD_WARP_IN_DUNGEON // /warp [player] will warp successfully even if the player is inside a dungeon (be sure a .quest login event won't still warp you out)
    2. New fixes:
      1. when refreshing (e.g. turning on/off sura's magic blade and dark protection), the activated and cooltimed slots in the skill page (V) were removed
      2. it didn't allow deviltower's multiple refine attempts
      3. pets with hp bonus were refilling improperly the hp after refreshing (e.g. mounting/unmounting)
  • update SourceFiles Update v4.5
    1. New fixes
      1. ShopEx button glitch
      2. MakePack Extract crash
      3. mount seals' wrong socket
      4. empire kill over lvl99
      5. /all_skill_master skill overflow
      6. another doubling affect bug
      7. oxevent attender list not cleared
    2. New Lua functions:
      1. horse.set_stat0
      2. pc.getf2
      3. pc.setf2
      4. chat_in_map0
      5. cmdchat_in_map0
      6. syschat_in_map0
      7. d.kill_area
    3. New Defines:
      1. ENABLE_INFINITE_HORSE_HEALTH_STAMINA // the horse won't lose health nor stamina
      2. ENABLE_NEW_ATLAS_MARK_INFO // for the new locale/map/point.txt
      3. ENABLE_TEXT_LEVEL_REFRESH // it will refresh the level after a levelup
      4. ENABLE_ITEM_ATTR_COSTUME // it will add costume_body, costume_hair, costume_weapon for item_attr/_rare
    4. New Configs:
      1. PROXY_IP [ip] // to specify the real ip in which the player will log in (without leaking the public ip); used for servers behind proxies, servers under nat or simply locale/noip/hamachi servers
    5. Miscellaneous:
      1. Updated the official client assets to the v17.1 update (dated 2017/05/20)
      2. The pet_system.quest and ride.quest have been updated with the most recent pets/mounts as well.
  • update SourceFiles Update v4.4
    1. New client defines:
      1. WJ_SHOW_MOB_INFO //enable mob info update for showing the mob lvl and the asterisk in name if aggro (ENABLE_SHOW_MOBAIFLAG and ENABLE_SHOW_MOBLEVEL)
    2. New root defines:
      1. WJ_SHOW_MOB_INFO implemented via app.WJ_SHOW_MOB_INFO
    3. New root functions:
      1. systemSetting.IsShowMobAIFlag
      2. systemSetting.SetShowMobAIFlag
      3. systemSetting.IsShowMobLevel
      4. systemSetting.SetShowMobLevel
  • update SourceFiles Update v4.3
    1. Miscellaneous:
      1. The new mob_proto r263 struct (brazil only) is now supported in launcher, DumpProtoReMIX and Mysql2Proto.
      2. Added the source files of Tools/Mysql2Proto in the repositories.
  • update SourceFiles Update v4.2
    1. dump_proto has been replaced to DumpProto ReMIX:
      1. All the item_proto/mob_proto official structures (2007~2016) are automatically detected and supported without recompiling (if ENABLE_PROTOSTRUCT_AUTODETECT is defined in Client)
    2. Removed old dump_proto defines:
      1. ENABLE_NEW_MOB_PROTO_STRUCT_20141125 // it enables the new MOB_RESIST_BLEEDING field implemented inside the client-side mob_proto (dump/repack 100% ok)
      2. ENABLE_NEW_MOB_PROTO_STRUCT_20151020 // it enables the new MOB_RESIST_CLAW field and other stuff inside the client-side mob_proto
      3. ENABLE_NEW_ITEM_PROTO_STRUCT_20160129 // it enables a new wearflag field inside the client-side item_proto
      4. USE_NEW_MOB_PROTO_STRUCT_20141125_ONLY_WHEN_UNPACKING //if 20141125 struct is enabled, it will dump to .txt as old structure, but pack as new one
      5. USE_NEW_MOB_PROTO_STRUCT_20151020_ONLY_WHEN_UNPACKING //if 20151020 struct is enabled, it will dump to .txt as old structure, but pack as new one
      6. USE_NEW_ITEM_PROTO_STRUCT_20160129_ONLY_WHEN_UNPACKING //if 20160129 struct is enabled, it will dump to .txt as old structure, but pack as new one
  • update SourceFiles Update v4.1
    1. New defines:
      1. ENABLE_PROTOSTRUCT_AUTODETECT // if enabled, all the item_proto/mob_proto official structures (2007~2016) are automatically detected and supported without recompiling
    2. Removed old client defines:
      1. ENABLE_NEW_MOB_PROTO_STRUCT_20141125 // it enables the new MOB_RESIST_BLEEDING field implemented inside the client-side mob_proto (dump/repack 100% ok)
      2. ENABLE_NEW_MOB_PROTO_STRUCT_20151020 // it enables the new MOB_RESIST_CLAW field and other stuff inside the client-side mob_proto
      3. ENABLE_NEW_ITEM_PROTO_STRUCT_20160129 // it enables a new wearflag field inside the client-side item_proto
    3. An official-compatible Client 17.0 with the following things:
      1. lycan 100% implemented
      2. type 3-4-5 removed from patch2, and m2_patch_XXX packs
      3. it contains every asset the official client has until now
    4. Official mob_proto, and item_proto 17.0 either .txt or .sql:
      1. Note: You can always extract updated .sql or .txt from the official client locales using my DumpProto or Mysql2Proto by yourself
  • update SourceFiles Update v3.9
    1. New fixes for root:
      1. more precise logs will be printed in case of uiscript load failure
    2. New defines:
      1. ENABLE_CMD_IPURGE_EX // /ipurge 2nd arg can remove items from a specific window (inv/equip/ds/belt/all)

        For example, doing `/ipurge inventory` or simply `/ip inv`, you will just delete all the items from the inventory, but not in the ds/belt/equip

      2. ENABLE_GM_FLAG_IF_TEST_SERVER //show the gm flag if it's on test server mode
      3. ENABLE_GM_FLAG_FOR_LOW_WIZARD //show the gm flag for low wizard too
      4. ENABLE_CANSEEHIDDENTHING_FOR_GM //enable gm to see invisible characters (both normal semi-transparent and gm invisibility)
  • update SourceFiles Update v3.8
    1. New fixes:
      1. map/index crash if it has no newline in the end fix
      2. guild_add_member exploit fix
      3. player.myshop_pricelist corrupted data fix
      4. myshop_pricelist primary key duplication error fix
      5. ramadan candy item can be used even if the relative affect is still up
      6. type quest, special, attr not handled in ConvSpecialDropItemFile (doing /special_item, special_item_group_vnum.txt will be now generated perfectly)
      7. prevent item module swapping if the quest is suspended (important!)
    2. New defines:
      1. ENABLE_OPEN_SHOP_WITH_ARMOR
      2. ENABLE_MASTER_SKILLBOOK_NO_STEPS
      3. ENABLE_EXTEND_INVEN_SYSTEM
      4. ENABLE_SET_STATE_WITH_TARGET
      5. ENABLE_PETS_WITHOUT_COLLISIONS
      6. ENABLE_SHOPS_WITHOUT_COLLISIONS
      7. ENABLE_MOUNTS_WITHOUT_COLLISIONS
      8. AUTODETECT_LYCAN_RODNPICK_BONE
      9. ENABLE_WEAPON_COSTUME_SYSTEM
      10. USE_WEAPON_COSTUME_WITH_EFFECT
      11. USE_BODY_COSTUME_WITH_EFFECT
      12. ENABLE_LVL115_ARMOR_EFFECT
    3. Miscellaneous:
      1. USE_CHANGE_COSTUME_ATTR, USE_RESET_COSTUME_ATTR item types implemented
  • update SourceFiles Update v3.???
    1. Miscellaneous:
      1. new dice functions for lua
      2. data/pc|pc2|pc3 mse files
      3. missing lua global funcs in the list
      4. new sample quests for the dice functions
      5. new defines USE_ITEM_BLEEDING_AS_POISON, USE_ITEM_CLAW_AS_DAGGER, USE_WOLFMAN_STONES, USE_WOLFMAN_BOOKS
  • update SourceFiles Update v2.???
    1. ???
  • update SourceFiles Update v1.9
    1. List of new client fixes:
      1. non-printing/control characters not more printed in the (chat) input (the ones you get when you press Ctrl+[key] in game)
      2. on arabic locales, the [HyperText code] (alias Prism code) not more editable pressing [Backspace]
  • update SourceFiles Update v1.8
    1. List of server fixes:
      1. random crashes if mob's hp is 0
      2. now, when a player dies, his HP will be set as 0 instead of having a negative number
    2. List of new lua functions:
      1. pc.set_race0(race=[0. Warrior, 1. Ninja, 2. Sura, 3. Shaman, 4. Lycan]) // [return nothing]
      2. pc.give_random_book0([race]) // it gives a random skill book; if race is specified, the book will be for such race // [return nothing]
      3. quest.get_current_quest_name0() // [return lua string]
    3. List of new miscellaneous things:
      1. /warp /transfer /item /mob will print arg1 in case of unsuccessfulness
    4. List of client fixes:
      1. hyper link graphic issue with 6-7 bonuses
      2. crash issues when pasting non-text data (if you specifically enable ctrl+v in client)
    5. List of client defines:
      1. ENABLE_ATLASINFO_FROM_ROOT // if enabled, the atlasinfo.txt will be read from root instead of the relative locale
    6. Miscellaneous:
      1. Compatibility with Cython (rootlib & uiscriptlib)
    7. A clear and complete root with the following things:
      1. Based on the last official roots before being cythonized
      2. Compatibility with Cython (rootlib & uiscriptlib)
      3. Lycan implemented via app.ENABLE_WOLFMAN_CHARACTER
      4. 5th character per account implemented via app.ENABLE_PLAYER_PER_ACCOUNT5
      5. Level in trade implemented via app.ENABLE_LEVEL_IN_TRADE
      6. Additional constants inside constInfo.py:
        1. ENABLE_RANDOM_CHANNEL_SEL // if enabled, it won't set a random channel when you open the client
        2. ENABLE_CLEAN_DATA_IF_FAIL_LOGIN // if enabled, it won't remove id&pass if the login attempt fails
        3. ENABLE_PASTE_FEATURE // if enabled, ctrl+v will work
        4. ENABLE_FULLSTONE_DETAILS // if enabled, it displays all the bonuses added by a stone instead of the first one
        5. ENABLE_REFINE_PCT // enable successfulness % in the refine dialog
      7. General fixes:
        1. Leadership skill (guide)'s tooltip fix
        2. old_open unreadable files issue
        3. undeclared timeOutMsg variable fix
  • update SourceFiles Update v1.7
    1. List of new server defines:
      1. ENABLE_WOLFMAN_CHARACTER // it enables the wolfman character and its own sub-defines:
        1. USE_LYCAN_CREATE_POSITION // if enabled, the lycan will be warped to his own village at character creation
        2. USE_MOB_BLEEDING_AS_POISON // if enabled, the mob_proto structure won't change and the bleeding % will be get from the poison field
        3. USE_MOB_CLAW_AS_DAGGER // if enabled, the mob_proto structure won't change and the claw % will be get from the dagger field
    2. List of new skill_proto flags:
      1. PARTY // the skill will be applied to all the near party's members, or just the player itself if alone
      2. ATTACK_BLEEDING // the skill will inflict the bleeding malus
    3. List of new affects:
      1. BLEEDING
      2. RED_POSSESSION
      3. BLUE_POSSESSION
    4. List of new bonuses:
      1. BLEEDING_REDUCE
      2. BLEEDING_PCT
      3. ATTBONUS_WOLFMAN
      4. RESIST_WOLFMAN
      5. RESIST_CLAW
    5. List of new commands:
      1. /set [name] [field] [value] (added 'race', 'sex' and 'job' fields + help list)
      2. /poison [name] (the specified player will get poison)
      3. /bleeding [name] (the specified player will get bleeding)
    6. List of new lua functions:
      1. d.get_damage_from_race(vid) // [return lua number]
      2. d.get_damage_from_affect(vid) // [return lua table]
      3. d.unset_damage_from_race(flag, vid) // [return nothing]
      4. d.unset_damage_from_affect(flag, vid) // [return nothing]
      5. pc.if_bleeding() // is_flag [return lua boolean]
      6. pc.sf_bleeding(bool) // set_flag [return nothing]
    7. List of new CONFIG options:
      1. GM_HOST_CHECK [0-1] // enable the gm host check based on ip (unchecked by default)
      2. GUILD_INVITE_LIMIT [0-1] // if enabled, the guild can invite new members only after an amount of time (not enabled by default)
      3. GUILD_INFINITE_MEMBERS [0-1] // if enabled, every guild can have infinite members (not enabled by default)
      4. EMPIRE_LANGUAGE_CHECK [0-1] // if enabled, you won't need to read language books or have the relative ring to understand other empires
    8. List of new server miscellaneous things:
      1. Bandage (27124) item implemented
      2. Poison Bottle (27996) now poisons on use
      3. SpecialItemGroup "bleeding" type implemented
    9. List of new client defines:
      1. ENABLE_WOLFMAN_CHARACTER // it enables the wolfman character
      2. ENABLE_LEVEL_IN_TRADE // it enables the functions to show the target level in the trade dialog
    10. List of new python constants:
      1. app.ENABLE_WOLFMAN_CHARACTER
      2. app.ENABLE_LEVEL_IN_TRADE
      3. chr.MOTION_KISS_WITH_WOLFMAN
      4. chr.MOTION_FRENCH_KISS_WITH_WOLFMAN
      5. chr.MOTION_SLAP_HIT_WITH_WOLFMAN
      6. chr.MOTION_SLAP_HURT_WITH_WOLFMAN
      7. chr.MOTION_MODE_CLAW
      8. chr.MOTION_MODE_HORSE_CLAW
      9. chr.AFFECT_BLEEDING
      10. chr.AFFECT_RED_POSSESSION
      11. chr.AFFECT_BLUE_POSSESSION
      12. item.WEAPON_MOUNT_SPEAR
      13. item.WEAPON_CLAW
      14. item.ITEM_ANTIFLAG_WOLFMAN
      15. item.ANTIFLAG_WOLFMAN
      16. item.APPLY_BLEEDING_REDUCE
      17. item.APPLY_BLEEDING_PCT
      18. item.APPLY_ATTBONUS_WOLFMAN
      19. item.APPLY_RESIST_WOLFMAN
      20. item.APPLY_RESIST_CLAW
    11. List of new python functions:
      1. exchange.GetLevelFromSelf()
      2. exchange.GetLevelFromTarget()
    12. List of new client miscellaneous things:
      1. new event motion types 11-12 workable
  • update SourceFiles Update v1.6
    1. List of new lua functions:
      1. oxevent.get_oxquiz_fn() // it returns the name of the oxquiz file to load [return lua string]
      2. oxevent.set_oxquiz_fn(string pathfile) // it sets the name of the oxquiz file to load starting from locale path [return nothing]
      3. oxevent.set_oxquiz_fn0(string pathfile) // it sets the name of the oxquiz file to load [return nothing]
  • update SourceFiles Update v1.5
    1. New server fixes:
      1. blocked sync packets sendable to everyone hack
      2. wrong checks on normal chat buf
      3. pc.mount_bonus bypass checks issue
    2. New server defines:
      1. ENABLE_CHECK_GHOSTMODE // dead people won't be able to move
    3. New server event flags:
      1. no_drop_metin_stone [0-1] // if enabled, metin stones won't drop the default spiritual stones
      2. no_mount_at_guild_war [0-1] // if enabled, horses/mounts can't be used inside guild war maps
  • update SourceFiles Update v1.4
    1. New server defines:
      1. ENABLE_ANTI_CMD_FLOOD //limit player's command execution to 10 commands per second, otherwise it'll be disconnected!
      2. ENABLE_QUEST_DIE_EVENT //add quest event "die"
    2. New server event flags:
      1. buysell_limit_time [time_in_secs] // the players will be able to buy/sell stuff every XXX seconds as specified (default=0=no limits)
    3. List of new lua functions:
      1. d.is_available0 // it checks whether the d.* functions are available or not [return lua boolean]
      2. item.is_available0 // it checks whether the item.* functions are available or not [return lua boolean]
      3. npc.is_available0 // it checks whether the npc.* functions are available or not [return lua boolean]
      4. pc.is_available0 // it checks whether the pc.* functions are available or not [return lua boolean]
  • update SourceFiles Update v1.3
    1. New server fixes:
      1. unsummoning azrael pets out of dungeons won't decrease the relative hp/mp gauge bar anymore (if you have max hp/mp as bonuses in the seal as default)
      2. messenger_auth flood hack
    2. New server defines:
      1. MAP_ALLOW_LIMIT [int] //define how many maps are allowed per game core (default 32)
      2. ENABLE_BLOCK_CMD_SHORTCUT //if enabled, people won't be able to shorten commands
      3. ENABLE_FULL_NOTICE //enable new big notice features
    3. List of new commands:
      1. /big_notice //now global like /notice
      2. /big_notice_map //big notice that works like /notice_map
      3. /notice_test //notice printed only to the player himself
      4. /big_notice_test //big notice printed only to the player himself
    4. List of new lua functions:
      1. big_notice // [return nothing]
      2. big_notice_all // [return nothing]
      3. big_notice_in_map // [return nothing]
    5. List of new adminpage commands:
      1. BIG_NOTICE [text] //like NOTICE [text]
  • update SourceFiles Update v1.2
    1. New server event flags:
      1. gold_drop_limit_time [time_in_secs] // the players will be able to drop a piece of yang/gold every XXX seconds as specified (default=0=no limits) (NB: by ymir)
      2. item_drop_limit_time [time_in_secs] // the players will be able to drop a piece of item every XXX seconds as specified (default=0=no limits)
      3. box_use_limit_time [time_in_secs] // the players will be able to open boxes every XXX seconds as specified (default=0=no limits)
  • update SourceFiles Update v1.1
    1. New client defines:
      1. ENABLE_PLAYER_PER_ACCOUNT5 // enable 5 characters per account
    2. Updated server defines:
      1. ENABLE_CHAT_SPAMLIMIT // limit chat spam to 4 messages for 5 seconds, if you spam it for 10 times, you'll be disconnected! (updated behavior)
    3. New server defines:
      1. ENABLE_WHISPER_CHAT_SPAMLIMIT // limit whisper chat to 10 messages per 5 seconds, otherwise you'll be disconnected!
      2. ENABLE_PLAYER_PER_ACCOUNT5 // enable 5 characters (per account) in the select phase (instead of 4)
      3. ENABLE_PORT_SECURITY // block db_port, p2p_port, and remote adminpage exploits
  • update SourceFiles Update v1.0
    1. New client defines:
      1. ENABLE_MILES_CHECK //check miles files to prevent mss32.dll exploit before load them
      2. ENABLE_PYLIB_CHECK //check python lib files to prevent exploit before load them
    2. New dump_proto defines:
      1. ENABLE_NEW_MOB_PROTO_STRUCT_20141125 //it enables the new field implemented inside the client-side mob_proto (dump/repack 100% ok)
  • update SourceFiles Update v0.9
    1. Server fixes:
      1. all the new mounts can now inflict skill damage if they should (like official)
    2. Client fixes:
      1. "SEQUENCE mismatch 0xaf != 0x64 header 254" fix
      2. all the new mounts can now attack/skill if they should (like official)
    3. Client defines:
      1. ENABLE_LOAD_ALTER_ITEMICON //load a default item icon if the one inside the item_list.txt is missing
      2. ENABLE_NO_MOUNT_CHECK //enable attack and skill from all horses/mounts
  • update SourceFiles Update v0.8
    1. Alternative CONFIG options:
      1. SHOP_PRICE_3X_TAX [0-1] // alternative (1 as default)
      2. CHANGE_ATTR_TIME_LIMIT [0-1] // alternative (1 as default)
      3. PRISM_ITEM_REQUIRE [0-1] // alternative (1 as default)
      4. GLOBAL_SHOUT [0-1] // alternative (0 as default)
      5. EMOTION_MASK_REQUIRE [0-1] // alternative (1 as default)
      6. BOOTARY_CHECK [0-1] // alternative (0 as default)
    2. New CONFIG options:
      1. DB_LOG_LEVEL [0-1] // set which log information to save inside the database log (3 as default) (0=none, 1=fews, 2=many, 3=all)
      2. ITEM_DESTROY_TIME_AUTOGIVE [0-MAXINT] // set the destroy time for the autogive items (from boxes if inventory is full and so on) spawned (on the ground) (300 as default)
      3. ITEM_DESTROY_TIME_DROPITEM [0-MAXINT] // set the destroy time for the items dropped by the players (300 as default)
      4. ITEM_DESTROY_TIME_DROPGOLD [0-MAXINT] // set the destroy time for the gold (yang) dropped by the players (150 as default)
  • update SourceFiles Update v0.7
    1. Tools/MSAMaker with the following features:
      1. Clean
      2. Usable for granny 2.4/2.7/2.9 models
  • update SourceFiles Update v0.6
    1. List of server defines:
      1. ENABLE_AUTODETECT_VNUMRANGE //if protos are loaded from db, it will automatically detect the vnum range for ds items without requiring an extra vnum_range field
      2. ENABLE_EFFECT_EXTRAPOT //enable extrapot effects when using green/purple potions
      3. ENABLE_EFFECT_PENETRATE //enable penetrate effect when performing a penetration
      4. ENABLE_BOOKS_STACKFIX //enable stackable books instead of remove all the pile
  • update SourceFiles Update v0.5
    1. New client fix:
      1. added check for npc_pet folder to see the new pets
    2. New dump_proto fix:
      1. it can now extract the packed protos into .txt again!
    3. New lua functions:
      1. guild.get_exp_level0(level) // get how much exp is necessary for such [level] [return lua number]
      2. guild.offer_exp0(exp) // give player's [exp] to guild [return lua boolean=successfulness]
      3. guild.give_exp0(exp) // give [exp] to guild [return nothing]
    4. Tools/DBManager with the following features:
      1. clean
      2. new types included (ds, belt, bleeding, wolfman, claws, etc)
      3. fixed nnheader issue
      4. fixed truncated fields issues
      5. fixed vnum_range (automatically detected)
      6. created a pan.sh to easily do a .txt-to-db and db-to-.txt proto conversion 100% lossless
  • update SourceFiles Update v0.4
    1. Miscellaneous
      1. 100% workable wolfman/5th race (as ymir's like)
      2. tools/dump_proto clean&translated
      3. tools/packmaker clean&translated
      4. extra
  • update SourceFiles Update v0.3
    1. List of server fixes:
      1. lovepoints overflow
      2. affect hack at login
    2. List of server defines:
      1. ENABLE_NEWEXP_CALCULATION //recalculate exp rate so you won't get random negative exp/marriage points
      2. ENABLE_CHAT_LOGGING //enable chat logging (which saves all the gm chats)
    3. List of client defines:
      1. ENABLE_SKIN_EXTENDED //extended source/targetskin[2-9] inside .msm
  • update SourceFiles Update v0.2
    1. List of server fixes:
      1. disband and withdraw guild time limit problem if player is offline
    2. List of new conf.txt options:
      1. MIRROR2DB = 1/0 // convert .txt protos to .sql ones
    3. List of new lua functions:
      1. pc.equip_slot0(cell) // [return lua boolean: successfulness]
      2. pc.unequip_slot0(cell) // [return lua boolean: successfulness]
      3. guild.get_id0() // get guild id [return lua number]
      4. guild.get_sp0() // get guild sp [return lua number]
      5. guild.get_maxsp0() // get guild maxsp [return lua number]
      6. guild.get_money0() // get money guild [return lua number]
      7. guild.get_max_member0() // get max joinable members [return lua number]
      8. guild.get_total_member_level0() // get the sum of all the members' level [return lua number]
      9. guild.has_land0() // get whether guild has a land or not [return lua boolean]
      10. guild.get_win_count0() // get guild wins [return lua number]
      11. guild.get_draw_count0() // get guild draws [return lua number]
      12. guild.get_loss_count0() // get guild losses [return lua number]
      13. guild.add_comment0(msg) // add a comment into guild notice board [return nothing]
      14. guild.set_ladder_point0(points) // set guild ladder points [return nothing]
      15. guild.set_war_data0(win, draw, loss) // set guild win/draw/loss [return nothing] (commented/local update)
      16. guild.get_skill_level0(vnum) // get guild skill level [return lua number]
      17. guild.set_skill_level0(vnum, level) // set guild skill level [return nothing]
      18. guild.get_skill_point0() // get guild skill points [return lua number]
      19. guild.set_skill_point0(points) // set guild skill points [return nothing]
  • update SourceFiles Update v0.1
    1. List of server fixes:
      1. sub type 24 check bug (the condition could never be true)
      2. no check on 6-7 add/change items about costume stuff
      3. dungeon regen pointing to a dangling pointer
    2. List of defines:
      1. ENABLE_PROTO_FROM_DB //enable PROTO_FROM_DB conf.txt feature (vnum_range works fine too)
      2. ENABLE_NULLIFYAFFECT_LIMIT //sura skill 66 won't nullify players with level < or > of yours by 9
    3. List of new conf.txt options:
      1. PROTO_FROM_DB = 1/0 // enable/disable item/mob proto loading from db (otherwise, .txt)
    4. List of new CONFIGs:
      1. SHOUT_LIMIT_LEVEL [int] // set the requirement level to use the shout (default 15)
      2. SHOUT_LIMIT_TIME [int] // set the interval time limit to use the shout (default 15 secs) (commented)
    5. List of new lua functions:
      1. pc.is_trade0() // get if player is trading [return lua boolean]
      2. pc.is_busy0() // get if player is "busy" (if trade, safebox, npc/myshop, cube are open) [return lua boolean]
      3. pc.is_arena0() // get if player is in arena [return lua boolean]
      4. pc.is_arena_observer0() // get if player is in arena as observer [return lua boolean]
  • update SourceFiles Update v0.0
    1. List of fixes:
      1. few packet IDs were not checked
      2. refine scroll item value 1 check error
      3. item movable from mall/safebox to belt inventory w/o checking the real type (potion check bypass)
    2. List of defines:
      1. ENABLE_CHAT_COLOR_SYSTEM_A //enable chat colors based on IsGm or GetEmpire (+colored player nick)
      2. ENABLE_CHAT_COLOR_SYSTEM_B //enable chat colors based on GetEmpire (+colored empire name)
      3. ENABLE_FIREWORK_STUN //enable stun affect when using firework items
      4. ENABLE_EXPTABLE_FROMDB //read the exp table from the db
    3. List of new CONFIGs:
      1. STATUS_POINT_GET_LEVEL_LIMIT [level] // set the maximum level to get status point (default lvl 90)
      2. STATUS_POINT_SET_MAX_VALUE [int] // set the maximum settable points for status (default 90)