summaryrefslogtreecommitdiff
path: root/src/char
AgeCommit message (Collapse)AuthorFilesLines
2014-05-09Removed extra'GeoIP disabled' message on charserver shutdownHaru1-9/+10
Signed-off-by: Haru <haru@dotalux.com>
2014-05-09Fixed order of includes in all source filesHaru21-150/+195
- Changed order according to the (upcoming) code style guidelines. - Fixes several issues caused by missing headers when their include order is changed or in plugins. Signed-off-by: Haru <haru@dotalux.com>
2014-05-09Added support to return a different exit status to the OS.Haru1-1/+2
- This can be easily used by plugins. - See an example at http://github.com/HerculesWS/StaffPlugins/Haru/script_mapquit Signed-off-by: Haru <haru@dotalux.com>
2014-05-08Fixed issue 8176panikon1-0/+1
http://hercules.ws/board/tracker/issue-8176-lastet-commit-cant-compile-successfully-on-linux/ Sorry for taking so long, it seems that even if errno.h is not included in MSVC errno is still available, but that doesn't happen in unix compilers.
2014-05-07Follow up to 9a425c1panikon2-6/+8
Special thanks to @MishimaHaruna
2014-05-06Bug fixes and other changespanikon2-25/+144
#Fixed issue where a corrupted map cache would lead to a crash *Moved Big-endian compatibility functions to common/utils.h #Fixed issue 8162 *http://hercules.ws/board/tracker/issue-8162-loadnpc-doesnt-trigger-oninit-of-duplicate-npcs/ *Added options to npc_parse_duplicate #Fixed issue 8169 *http://hercules.ws/board/tracker/issue-8169-script-command-guildskill-skill-idlevel-not-working-as-intended/ *Changed *guildskill behavior, now it behaves exactly as depicted in the documentation *Updated *guildskill documentation #Added missing GBI types to mapif_parse_GuildBasicInfoChange now it's possible to change guild exp, lv, skill point and skill information #GeoIP revamp *GeoIP module was partially rewritten *Added several data checks to prevent corruption and crashes *Updated GeoIP database *See https://github.com/maxmind/geoip-api-c/blob/master/libGeoIP/GeoIP.c for more information #Added packetver checks regarding NST_MARKET *Now *tradertype warns if user is trying to use this feature with older clients
2014-04-19Fixed issue: 8150panikon1-8/+8
* http://hercules.ws/board/tracker/issue-8150-cash-shop-updating-quantity-bug/ * Also fixed issue where when using ATitem to get more than one pet egg would result on getting only one egg * Changed packet 0x3880 structure now it also contains pet class and dropped flag from this packet, it was pointless
2014-04-19Merge pull request #272 from hemagx/masterHaruna5-50/+6
Rewritten NSI_UNIQUE_ID system
2014-04-18Rewritten NSI_UNIQUE_ID system to get rid of the cross-database interreg ↵Ibrahim Hossam5-50/+6
dependency - Removes the need for map-server to access the interreg table to store the last used ID. - Login, char and map databases can now be hosted separately. - Note: the unique_id structure has changed, and it now contains the generator character ID in its upper 32 bits. - Now NSI_UNIQUE_ID System is enabled always Special thanks to Haruna.
2014-04-17Added sysinfo (System Information) functionalitiesHaru1-1/+8
- More informative messages are displayed during startup, to make it easier to identify what system and environment Hercules is running. - Git/SVN revision detection is improved, separating the source version (cached at compile time) from the runtime version, in case the user updated their working copy without recompiling the server. Git version detection is also more reliable, in case a non-default branch is used. - The get_revision script command has been removed (as it was useless to begin with, after the switch to git). An alternative will be provided later, for feature-probing purposes. - The patch was tested under Linux (Gentoo / gcc 4.7 on i686 and x86_64, Debian 6 / gcc 4.4 on i686, Raspbian / gcc 4.6 on armv6l, CentOS 5 / gcc 4.1 on i686, CentOS 6 / gcc 4.4 on x86_64, Linux Mint 15 / gcc 4.7 on x86_64, OS X Mountain Lion / clang 5.0 and gcc 4.8 on x86_64, Cygwin-NT-5.1/gcc 4.8 on i686, FreeBSD 8 / gcc 4.2 on i386, FreeBSD 9 / gcc 4.2 on amd64, FreeBSD 10 / clang 3.3 on amd64, NetBSD 5 / gcc 4.1 on i386, NetBSD 6 / gcc 4.5 on amd64, OpenBSD 5 / gcc 4.2 on amd64, Solaris 11 / gcc 4.5 on i86pc, Windows 7 / Visual Studio 2012 on x86, Windows 8 / Visual Studio 2010 on WOW64, Windows 8.1 / Visual Studio 2013 on WOW64. Signed-off-by: Haru <haru@dotalux.com>
2014-04-12Added sanity checks in itemboundretrieve_subpanikon1-2/+11
2014-04-12Fixed some compiler/analyzer warnings.Haru1-9/+10
- Sanitized some macros (they weren't going to cause problems, but better being safe than sorry) - Parenthesized an incorrect expression in 6f6a6b3. - Inverted an if(foo); else bar; statement in 6f6a6b3 to get rid of the empty expression (for legibility). - Commented out some unnecessary lines as suggested by clang's static analyzer. Signed-off-by: Haru <haru@dotalux.com>
2014-04-10Fixed issue: 7939panikon1-53/+64
http://hercules.ws/board/tracker/issue-7939-change-sex/ Also cleaned a bit the change sex process
2014-04-10Fixed issue: 7936panikon2-8/+62
http://hercules.ws/board/tracker/issue-7936-guildparty-item-bounded/
2014-03-25Added new return values to make_new_char_sqlpanikon1-28/+47
Added char_id to charlog Corrected RE check in skill_magic_reflect (see commit c9310f3)
2014-03-22Fixed issue 7338 (added new char configuration char_aegis_delete)panikon1-15/+32
http://hercules.ws/board/tracker/issue-7338-deleting-character/ As @jaBote requested in 26f2ada, renamed "rathena-logs-database-upgrade" to "rAthena-logs-upgrade.sql" and updated 'last revision'. Added a 'FIXME' in db_obj_put
2014-03-16Added --load-plugin commandline argumentHaru1-1/+1
Signed-off-by: Haru <haru@dotalux.com>
2014-03-14Fixed Bug 8078shennetsind1-2/+4
gms relogging while char server is on char_server_type will no longer get rejected. Special Thanks to Beret. http://hercules.ws/board/tracker/issue-8078-maintenance-mode-enabled/ Signed-off-by: shennetsind <ind@henn.et>
2014-03-06Minor whitespace fixHaru3-13/+10
(trying to trigger a HPM Hooks rebuild missing from my previous commit) Signed-off-by: Haru <haru@dotalux.com>
2014-02-27Cleaned up messages.confHaru1-130/+151
- Removed some unused messages. - Re-mapped some duplicate IDs - fixes bugreport:8057, thanks to AnnieRuru http://hercules.ws/board/tracker/issue-8057-jobname-with-invalid-id-return-tomb/ - Fixed some issues with the message range loaded by the char server. - Reworded some messages, fixed typos in others. Note for translation users: some messages have been remapped to new IDs. You'll need to remap them in your custom translations as well. The list of changes is as follows: - Removed messages (you can safely remove them from your translations): 15, 26-27, 35, 48-52, 57-58, 65-69, 82-83, 86-87, 91, 101, 140-142, 164, 189-194, 199-200, 202-203, 209-211, 215-218, 267-268, 275, 289-290, 380-385, 387-388, 401, 497, 499, 535-537, 922, 995, 1063, 1079, 1291-1294 - New messages (you need to add them to your translations): 15 - Moved messages (you need to change their IDs in your translations file): * [Unknown Job] 656 -> 620, * [Job names] 681~693 -> 656~668 * [Tombstone related] 656~661 -> 856~861 * [Etc messages] 662~680 -> 862~880 * [@version] 1436 -> 1294 * [Hercules Chat] 1475 -> 1436 Signed-off-by: Haru <haru@dotalux.com>
2014-02-19Follow up 9132878d911cfe720eaad94ad3d4a5dd11958f99shennetsind1-0/+4
Fixed issue (8023) with sc rows (only those of tick = -1, aka permanent scs) duplicating due to lack of primary index. Special Thanks to Flash, Haru. Note that the upgrade script will clear the permanent statuses from your sc_data table (e.g. lex aeterna, carts) to ensure no issues are left. Signed-off-by: shennetsind <ind@henn.et>
2014-02-13Fixed bug 7279panikon1-10/+35
http://hercules.ws/board/tracker/issue-7279-starting-items/
2014-02-11Fixed bug 7980panikon1-0/+1
2014-02-10Merge pull request #256 from hemagx/masterHaruna4-67/+81
Merged~ Thank you for your contribution to Hercules!
2014-02-02Fixed Bug 7962shennetsind1-0/+34
Fixed issue with "permanent" (durationless) status changes (such as carts) integrity caused on server shutdown. Special Thanks to Haru! http://hercules.ws/board/tracker/issue-7962-command-at/ Signed-off-by: shennetsind <ind@henn.et>
2014-02-02Introducing HPM Datacheckshennetsind13-39/+39
http://hercules.ws/board/topic/4283-introducing-hpm-datacheck/ Signed-off-by: shennetsind <ind@henn.et>
2014-02-02Update inter server so ask login server for account information Instead of ↵Ibrahim Hossam4-67/+81
do query to login table. Thanks to Haruna to clean it up.
2014-01-22Improved questlog handling to honor the value of MAX_QUEST_OBJECTIVESHaru1-15/+52
Signed-off-by: Haru <haru@dotalux.com>
2014-01-22Improvements to exp_guild.txt loadingHaru1-28/+22
- Modified exp_guild.txt processing to honor the value of MAX_GUILDLEVEL and correctly handle overflows. Signed-off-by: Haru <haru@dotalux.com>
2014-01-18Socket interfacedshennetsind1-12/+12
We designed this one with having as little changes required elsewhere in mind, thus the way most socket-related things are called has not changed. Plugins may now take a greater advantage of the socket features. Signed-off-by: shennetsind <ind@henn.et>
2014-01-12Changed some void* to the correct data types where applicableHaru1-1/+0
Signed-off-by: Haru <haru@dotalux.com>
2014-01-11Hercules 1st 2014 MegaPatchshennetsind3-193/+351
http://hercules.ws/board/topic/3886-hercules-1st-2014-megapatch/ Signed-off-by: shennetsind <ind@henn.et>
2014-01-08Introducing Hercules Autotrade Persistencyshennetsind1-5/+26
Aka autotrading merchants survive server restarts. Originally sekai's (aka me). Special Thanks to Haruna, Michieru. Signed-off-by: shennetsind <ind@henn.et>
2013-12-31Fixed issues pointed out in Report 7909shennetsind1-1/+1
Special Thanks to Vader. http://hercules.ws/board/tracker/issue-7909-some-code-errors-and-optimisations/ Signed-off-by: shennetsind <ind@henn.et>
2013-12-30Fixed account expiration timeshennetsind1-2/+20
Login server no longer insta-denies expired accounts, as there may be free to play (or non paying) char server modes in the list, also made sure type 3 is sent as normal mode to non-expired accounts (client has a hardcoded if type == 3 => "claim need to pay & deny message" Special Thanks to Beret. Signed-off-by: shennetsind <ind@henn.et>
2013-12-17Fixed several compiler warningsHaru4-45/+45
- Warnings detected thanks to Xcode's compiler settings (more strict by default) and clang, warnings mostly but not only related to data sizes on 64 bit systems, that were silenced until now by very lax compiler settings. - This also decreases by a great deal the amount of warnings produced by MSVC in x64 mode (for the adventurous ones who tried that) - Also fixed (or silenced in case of false positives) the potential issues pointed out by the (awesome) clang static analyzer. - Patch co-produced with Ind, I'm merging and committing in his place! Signed-off-by: Haru <haru@dotalux.com>
2013-12-06HPM: mapindex interfaceshennetsind2-22/+22
Signed-off-by: shennetsind <ind@henn.et>
2013-12-05Follow-up to 6f55c00e72ca6db130a84fe92218f73a777428f4Haru1-2/+5
- Fixed a memory leak (bugreport:7885), thanks to rosfus http://hercules.ws/board/tracker/issue-7885-memory-leaks-found-at-20131205-20h31m31s-rev-13617/ Signed-off-by: Haru <haru@dotalux.com>
2013-12-05Fixed Bug 7879shennetsind1-5/+7
guild storage would remain locked when the operation failed, now it unlocks regardless of success. Special Thanks to GrumpyPanda http://hercules.ws/board/tracker/issue-7879-guild-storage-bug/ Signed-off-by: shennetsind <ind@henn.et>
2013-12-04Follow-up to 6f55c00e72ca6db130a84fe92218f73a777428f4Haru1-1/+1
- Fixed an issue that caused the quest list not to be sent to the map server. - Special thanks to Beret. Signed-off-by: Haru <haru@dotalux.com>
2013-12-03Questlog fixesHaru2-93/+139
- Improved memory usage of the quest log system. (saves up to 75kB per online character). Fixes issue #133. - Fixed various issues with quest entries disappearing from characters without an apparent reason, or monster kill counters getting stuck - the issues were caused by a de-synchronization between the two parallel questlog arrays in map_session_data. - Added some code documentation. - Thanks to Ind. Signed-off-by: Haru <haru@dotalux.com>
2013-11-29Update JOB_REBELLION 'job_db1.txt' to its official values and some mini ↵malufett1-1/+4
adjustment. Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-11-29Corrected an uninitialized variable when adding an itemHaru1-0/+1
- The .favorite field of newly added inventory items wasn't correctly initialized to zero, potentially causing data loss (fixes bugreport:7854, thanks to Vincent, GrumpyPanda). Signed-off-by: Haru <haru@dotalux.com>
2013-11-20Added support for 'make plugin.pluginname' to compile only 'pluginname'Haru1-28/+33
- Various Makefile optimizations Signed-off-by: Haru <haru@dotalux.com>
2013-11-19Fixed Bug 7840shennetsind1-1/+1
Special Thanks to kyeme for all the debug information and help! http://hercules.ws/board/tracker/issue-7840-char-server-crash/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-19Sanitized and improved several macros through the codeHaru3-7/+6
- Sanitized all potentially unsafe macros (related eA:15259) - Improved some function-like macros to evaluate their argument only once and keep it in a temporary variable. This improves performance in the damage calculation related code. Signed-off-by: Haru <haru@dotalux.com>
2013-11-18Follow up aee2f6317e1c927847993801b5973d7e2e27a418shennetsind1-8/+18
Fixed glitch that'd occur in clients with login screen where even after logging out the client would still remember previously sent banned timestamps, keeping the char banned until client was reopened. Also dropped a error message map server would show up when banning offline characters. Special Thanks to Mvmbles for pointing it out, Haruna for testing and helping fix it. Signed-off-by: shennetsind <ind@henn.et>
2013-11-16Introducing Character Ban Support.shennetsind2-56/+160
@charban/@charunban, can temporarily block any accounts as opposed to the usual account-wide block. Special Thanks to Haruna, Yommy! Signed-off-by: shennetsind <ind@henn.et>
2013-11-16Minor char server char list fixesshennetsind1-9/+5
the array was being erroneously modified in old client packets. Signed-off-by: shennetsind <ind@henn.et>
2013-11-16Updated char server's response to offline map servershennetsind1-4/+16
Previously attempting to log in while map server was unavailable or not yet ready would close the client, now the char select window shows up and attempting to select a character while the map server is unavailable will display a pop up "the map is not available", client will remain in char select window and won't close anymore. Special Thanks to Haruna. Signed-off-by: shennetsind <ind@henn.et>