summaryrefslogtreecommitdiff
path: root/src/map/chrif.c
AgeCommit message (Collapse)AuthorFilesLines
2008-04-26Cleaned up auth system after change back to map server request.Kevin1-38/+6
- Created function set_char_charselect to get rid of some of the "special case" variables. - Removed code that involved the char server sending auth data at char select. - Changed char select code to update the instance of the char data in the DB to fix map/sex info not being propagated to auth request. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12658 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-21* Changed the data field of timers from int to intptr.FlavioJS1-4/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12633 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-21Made some cleanup in changesextoms1-1/+5
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12626 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-20* Several updates from Trunkzephyrus1-1/+1
- Merged the new Auth process to avoid double logins. - Merged official adoption process. - Removed @gm command. - Cleaning of MAX_ACCOUNT_ID and MAX_CHAR_ID - Update of the online user count (map_getusers) NOTE: i will do a second check to see if i forget something else. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12621 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-14Some more updates to the quest log system. It has been completely moved to ↵Kevin1-1/+0
the inter server instead of the char server. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12584 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-13* Quick&dirty reversal of the inter-server behaviour introduced in r3255/r3256:FlavioJS1-13/+61
- the behaviour enabled a desynch between the char-server and the map-server - now the map-server asks the char-server to authenticate the auth info (the char-server doesn't send the auth info immediatelly) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12579 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-11The max_account_id packetver detection mechanism will never cause any ↵ultramage1-3/+2
connection problems ever again. (bugreport:388) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12563 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-11Some quest log changes and removed one of the set char offline calls that ↵Kevin1-1/+0
was added in revision 12552. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12557 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-11More questlog code.Kevin1-0/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12556 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-11- Fixed a bug in de-adopt code (parent skills need to be removed).zephyrus1-0/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12555 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-10Crash fix for (r12552).Kevin1-1/+13
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12554 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-10Lolwhoops.Kevin1-0/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12553 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-10Client not marked online until map receives auth request from the client and ↵Kevin1-2/+9
is approved. Also added some online/offline sets to the auth system that were being looked over and not properly updating the char server as to what's going on. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12552 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-10Modified the charservers to use a DBMap instead of a cyclic array for auth data.ultramage1-2/+4
Merged the auth fix from r12473 to TXT as well. Removed the no-op from r12547. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12551 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-07Removed the 'wait close' timer that closed a session's socket after 5 seconds.ultramage1-3/+3
This was causing random disconnects when logging in. (bugreport:1330) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12520 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-04Update to Auth Glitch fix: moved unit_free_pc back to where it was and ↵Kevin1-3/+0
updated it so unit_free_pc just tells the script to end(not hard delete). (bugreport:1214) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12481 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-04Fixed a little bug in Kevin's commit (r12473)toms1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12475 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-04Bug fixes for Auth Glitch and Map server crash through script warp when ↵Kevin1-0/+4
changing map servers. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12473 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-03Renamed 'connect_until_time' to 'expiration_time'.ultramage1-2/+2
Renamed 'ban_until_time' to 'unban_time'. this also applies to login table columns (see upgrade_svn12464.sql). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12464 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-28Some more txt/sql login server synchronization:ultramage1-49/+3
- removed the option to specify multiple IPs/subnets for 'ladminallowip' - removed the @gm command and all associated management code - removed the 'save unknown packets' code - removed the lengthy TXT ipban code (which was essentially a copy of what's already handled by the socket layer/packet_athena.conf) - implemented 'start_limited_time' in SQL (expiration for new accounts) - applied some missing TXT changes from the last update git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12446 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-26Adjusted eAthena code to compile cleanly in C++ mode.ultramage1-3/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12436 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-24* Reorganized the contents of the mapserver's header files.ultramage1-0/+1
- map.h is no longer a generic dumping spot of all the shared structs, and instead, each such structure now resides in its logical component - map.h now only holds mostly map-related things (needs more cleaning) - there's still a lot of room for improvement (reorganization within individual header files, etc...) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12429 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-16- Added support for offline divorce.zephyrus1-6/+22
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12379 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-16- Fixed a compilation error. ops :3zephyrus1-5/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12378 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-16- Added De-adopt support when deleting a baby.zephyrus1-6/+33
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12377 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-11Replaced clif_countusers() with a more efficient alternative (thanks to the ↵ultramage1-9/+1
fact that pc_db now only holds fully authed players only). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12339 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-04- Updated firepillar so it cannot be placed on top of others.skotlex1-9/+13
- Updated the firepillar code so it behaves like the other traps. - Changed the default format for @me and @main to avoid crashes on the newer clients. - Fixed the char-sql server so it returns a valid 'not found' packet when attempting to load a non-existing homunculus. - Fixed jump to use 0,0 for random coordinates rather than -1,-1 - Added missing \n to error reporting in getmonsterinfo - Additional status changes now only get triggered if the attack did damage, not if they get absorbed. - Fixed a logical comparison in unit_free to properly remove pets/homuncs when their intimacy is reduced to 0. - Properly set the opt3 value for Moonlight, Changeundead and Soul Link - Fixed the "no equip" flag of cards not being properly applied when attemting to equip items. - Added a check to avoid invoking pet menu entries when the pet is incuvated. - Fixed the session_data de-association in chrif_auth_delete - Cleaned chrif_auth_ok so that the latest received char info is kept when previous char login data was already in there. - Corrected docs mentioning non-existing flag 'mf_nopvp' git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12293 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-02Fixed wrong mvp format string for @mobinfo (would not show big mvp exp ↵ultramage1-0/+8
rewards correctly). Added data length check to chrif_authok(), to detect a mismatch between charserver's and mapserver's mmo_charstatus structure size. Corrected some typos in the cash shop code. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12277 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-21- Added status_calc_life to properly calculate hp/max_hp as a ratio taking ↵skotlex1-6/+9
into accounts overflows (and for now also avoids divisions by 0). Applied this function around clif.c, mob.c and pet.c - Implemented the correct walk-speed bonus from the Bard/Dancer spirit. - Added a few error messages in case something goes wrong in the new auth db system. - Fixed logarithmic drops turning 0% drop rates into 100%. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12225 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-21- Fixed new guilds displaying online-connect member count at 0 rather than ↵skotlex1-105/+212
1, and the guild master not knowing it is one (eg: it cannot edit the guild notice of a newly created guild until relogging). - Fixed acc_reg2 parsing screwing up the char_id and subtracting 2 from it rather than passing it as it is. - Extended the auth_node/auth_db system in chrif.c to handle log in/out and mapserver-change procedures. This way players are not in the main dbs when they are not "active", which blocks potential invalid accesses to them. - Replaced states auth, waiting_disconnect and finalsave with active. - Cleaned some the party/guild login and creation procedures, removed the party_sent/guild_sent states. - Removed a redundant guild_check_member call which is beyond not-needed and into the realm of wasting resources. - clif_parse will no longer process packets from !sd->state.active players, this also makes checking for finalsave uneccessary (since players re already removed from the maps and dbs by this point, so you can't access them in any other way) - Separated the roles of unit_free and map_quit, the former will handle cleaning structures from the player so it can be free'd safely, while the latter performs additional routines which are unique to characters logging out normally (map-server changes will invoke unit_free and bypass map_quit). - Removed pc_isplaying, quit_db, map_knowsaccount, MAPIT_PCISPLAYING among other functions/defines which are no longer needed due to the new login scheme. - Cleand up a bit some code in the clif_send(_sub) functions. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12223 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-11Getting rid of map_getallusers(), part 1ultramage1-13/+27
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12195 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-20Expanded a mapserver's debug message in its interserver parsing function.ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12094 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-19Added back periodic user count updates that got replaced in r11703, but are ↵ultramage1-0/+3
neccessary as the current method doesn't work correctly (bugreport:688) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12090 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-31* Added code to reject double logins in clif_parse_WantToConnection and ↵FlavioJS1-6/+2
added debug messages to detect possible double logins that escaped. * Isolated accounts that are waiting for the quit ack. The rest of the game logic no longer has access to them though the id2sd/charid2sd dbs. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11998 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-17* Added flag.server to indicate interserver socketsultramage1-2/+2
- replaces the previous way (setting 'client_addr' to 0) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11930 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-12* Some preparations for the guild script updateultramage1-4/+6
- cleaned up npc event execution code - cleaned up guild data loading/saving code; to be improved later - removed dummy 'account name' expulsion list management code - removed columns 'rsv1' and 'rsv2' from guild member data - removed columns 'rsv1' 'rsv2' 'rsv3' and 'acc' from guild expulsion data - added upgrade_svn11895.sql for SQL git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11895 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-07- removed the timer heap correction code when the timers overflow since ↵skotlex1-62/+49
Flavio points out that it is not needed. - Modified a bit the changesex code so you get saved and quit before changing your sex rather than afterwards. - Cleaned up #changesex - Signum Crucis now works on bosses. - party_recv_data will not set the sd pointer for not-yet-authed characters. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11867 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-22- Changed the status_change structure to use dynamic rather than static ↵skotlex1-14/+14
memory to hold the individual status changes, this should have a noticeable impact on the server's memory consumption. - Had to add a few 'ugly' flags to status_change since now you can't track SC related information while said SC is not active (happens only for Storm Gust, Joint Beat and Magic Power). - Since I am unable to fully test, watch out for any bugs~ git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11786 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-17Removed battle_config.error_log as console_silent already handles thisultramage1-4/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11751 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-09* Re-worked the login-char-map packet spam mechanismultramage1-46/+64
- mapserver no longer sends entire user list to charserver every 10 seconds; similar change done to the char-login connection - user count updates are only sent when the value actually changes instead of servers polling each other every few seconds - the servers now prevent interserver connection timeout explicitly by sending ping/ack packet pairs instead of relying on the usercount polling to do so; keepalive is sent every 'stall_time'-2 seconds - removed the @refreshonline command as refresh happens automatically every 5 seconds git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11703 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-08* Changed EXIT_SUCCESS back to 0 in console.c to avoid an unnecessary include.FlavioJS1-6/+6
* Fixed gm_account_db not being deallocated in login-converter.c. * Refactoring names and documentation in db.h/db.c: - changed 'struct dbt' to 'struct DBMap' and 'DB' to 'DBMap*' - changed 'struct db' to 'struct DBMap_impl' and 'DB_impl' to 'DBMap_impl*' - changed COUNT to DB_COUNTSTAT and made it's existence not depend on DB_ENABLE_STATS - removed some @see links and corrected small typos in the documentation git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11698 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-03Tried to make sense out of timer.c ... and failedultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11647 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17* Merged do_sendrecv() and do_parse() into do_sockets()ultramage1-0/+1
* Fixed subnet check message displaying incorrect ip addresses * client_addr will now be properly set to 0 for server connections * Removed socket code that attempts to cope with code bugs at runtime * Removed outdated copyright and version number from startup logo git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11503 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17Using predefined constants as parameters to the exit() function.ultramage1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11501 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-28Removed some redundant code from the sql charserver.ultramage1-47/+33
Fixed a sql-charserver @block crash (missing Sql_NextRow() call). Probably fixed 'random junk' being displayed in @changesex reply text. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11324 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-25* Disabled tick cache (to enable it: define TICK_CACHE to the number of ↵FlavioJS1-1/+1
calls that should be cached). * Added a charid2sd database for fast charid searches. * Reworked the nick cache to only contain offline characters. Note: The tick cache was causing _some_ of the desync problems in eA. Gameplay should be much smother, but desync problems still exist. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11290 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-15Getting some (mostly atcommand) code cleaning out of the way...ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11222 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-19* Cleaned/clarified some #include relationships between headersultramage1-2/+6
* Changed clif_sitting() to use 'bl' instead of 'sd' (for non-player objects) * Removed way messed-up script function 'unitdeadsit' * Tagged 'FIXME' lines written by myself git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11040 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-09The new functions now clear junk from the output buffer, this simplifies the ↵ultramage1-1/+0
code a bit. Added a TODO for one emblem loading problem/crash. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10969 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-08- Changed the structure of the homunculus_db file so that the homunculus and ↵skotlex1-1/+1
its evolved version share the same line. Also added the evolution bonuses to it. - Updated the @homstats command to show evolution bonuses - Cleaned up the homunculus db structure. - Implemented the evolution stat growth bonuses. - Some small cleanups in the mercenary.c file - Corrected initial intimacy of a newly created homunculus (should be 21/1000) - Incremented the size of mob.c:summon.class_[] since mob_pouch has almost 350 entries. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10965 54d463be-8e91-2dee-dedb-b68131a5f0ec