291 Commits

Author SHA1 Message Date
Kevin
fc2bec97d7 At char select, the char server will set character to server -2 (server unknown) rather then -1 (at char select) and will be changed to the map server id once the character loads in.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12569 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-11 23:10:14 +00:00
ultramage
00a5bccbd3 The max_account_id packetver detection mechanism will never cause any connection problems ever again. (bugreport:388)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12563 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-11 09:31:32 +00:00
Kevin
ffa3b60fc0 Finished most of the quest log code, still bits here and there but it's usable now.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12558 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-11 07:12:45 +00:00
Kevin
12aff369d9 Some quest log changes and removed one of the set char offline calls that was added in revision 12552.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12557 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-11 02:42:30 +00:00
Kevin
3c7a81a079 Client not marked online until map receives auth request from the client and 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://svn.code.sf.net/p/rathena/svn/trunk@12552 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-10 21:28:27 +00:00
ultramage
fd5f918452 Modified the charservers to use a DBMap instead of a cyclic array for auth data.
Merged the auth fix from r12473 to TXT as well.
Removed the no-op from r12547.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12551 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-10 19:07:00 +00:00
zephyrus
d6c303341b - Fixed Max Guardians max = 8 (no need to increase this value for woe 2.0 as non indexed guardians are set outside of the array).
- Hunter traps have 3500 HP, they are not removed by just one hit. (This also fix the bug you can't move traps with arrow shower).
- Some cleanups.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12549 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-10 15:40:48 +00:00
Kevin
f5fd71f4be Char server now loads/saves quest information.
Included table definitions for quests and quest objectives.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12545 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-10 05:35:04 +00:00
Kevin
e45a10cf13 Bug fixes for Auth Glitch and Map server crash through script warp when changing map servers.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12473 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-04 07:19:47 +00:00
ultramage
77826dfdf8 Renamed 'connect_until_time' to 'expiration_time'.
Renamed 'ban_until_time' to 'unban_time'.
this also applies to login table columns (see upgrade_svn12464.sql).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12464 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-03 12:46:55 +00:00
ultramage
76eb9581b9 Some more txt/sql login server synchronization:
- 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://svn.code.sf.net/p/rathena/svn/trunk@12446 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-28 18:53:51 +00:00
ultramage
b1b356fb11 Partial rewrite of the login server's auth system.
* replaced the cyclic, size-limited auth_fifo data structure with the more appropriate DBMap-based alternative (stops some erratic behavior)
 * added code to simulate the pseudo-status "online on login server"
 * auth data will now expire after 30 seconds instead of persisting
 * better-than-aegis handling of login cancellation (the server will wipe all previous auth data instead of making you wait for it to expire)
 * proper status message - no more generic "rejected from server", now you'll get "the server still recognizes your last connection"
 * fixed a typo in r10110 which caused disconnect timer removal to fail
 * split off some parsing code to login_auth_ok() and login_auth_failed()
 * extended the auth confirmation packet so that the login_id1/2 values are sent along with the associated account id (stops charserver from making wrong choices if two incoming sessions have the same account id)
 * fixed a bug in the disconnect part of the main charserver parsing loop, where a non-authed client would erase the online db entry for a client that's already online, thus bypassing any dual-login checks
 * added code to stop the waiting_disconnect timer when the associated online entry is removed right away, instead of doing checks later
 * removed code that would periodically wipe the online status of clients that are in the auth process (producing yet more erratic behavior)
 * commented out some TXT-only reconnect prevention code (bugreport:1281)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12441 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-27 12:06:12 +00:00
ultramage
c6402e89c2 merged the charserver acc modification code cleanup to TXT (r11324)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12440 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-27 11:34:16 +00:00
ultramage
94943b2b6a Adjusted eAthena code to compile cleanly in C++ mode.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12436 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-26 10:37:45 +00:00
ultramage
9c07918456 Added proper checks to adoption processing (followup to r12428).
Cleaned up some code / fixed some typos.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12432 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-25 09:56:18 +00:00
zephyrus
e87cef990d - Added support for offline divorce.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12379 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-16 20:33:01 +00:00
zephyrus
2934ff8468 - Added De-adopt support when deleting a baby.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12377 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-16 17:27:19 +00:00
zephyrus
ee964f6623 - Optimized a little bit char deletion process with partner info.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12375 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-16 07:21:05 +00:00
zephyrus
fee18c4efb - Merged mail system to Stable. Need a second check... please wait.
- No packet added until everything is done.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12287 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-03 22:03:38 +00:00
skotlex
dc789293be - Updated Eye of Hellion to use the new format of the input command.
- corrected login_fd/char_fd being uninitialized in the char servers.
- Changed a bit around how status_base_atk works to avoid overflows.
- Added a check to prevent using consume-delay items when you cannot use skills, since that opens an exploit if the item also has non-skill-casting components to its script.



git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12214 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-17 22:36:02 +00:00
ultramage
7d22579be3 Fixed SQL charserver not logging char deletion correctly (see bugreport:944)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12197 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-12 21:32:23 +00:00
ultramage
fb85ff7006 Fixed sql charserver crashing when mapserver is disconnected and someone does a double login (bugreport:870)
- it was a typo in r11410

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12159 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-01 07:22:17 +00:00
ultramage
fafb4b8476 Another round of login server cleaning
* fixed passwordencrypt on SQL not behaving correctly (since r10753)
 * corrected some column lengths in the login db (username, password,...)
 * fixed some places which used wfifo without first reallocating it
 * removed interserver packet 0x7532 (Request to end connection), as there was no code that actually sent this packet
 * moved RFIFOSKIP actions to execute as soon as possible

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12043 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-10 15:35:23 +00:00
ultramage
b3696e2e03 Added missing session auth checks to charserver.
Packets from non-authed clients will now be discarded.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12034 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-08 14:30:28 +00:00
ultramage
65834585a8 Modified showmsg code to not attach a timestamp to MSG_NONE-type messages, generated by ShowMessage(). It now works exactly like printf().
Removed/replaced all printf calls in the code.
Added a new flag to setting 'console_silent', for filtering debug messages.
Silenced the "Broken pipe found" and "Server running in debug mode" messages.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12020 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06 14:19:26 +00:00
FlavioJS
bbf60788db * Fixed a memory leak in memitemdata_to_sql.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11989 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-28 18:53:56 +00:00
ultramage
acad1ac4dd minor code tweaking
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11936 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-18 09:13:01 +00:00
ultramage
5790585d16 * Added flag.server to indicate interserver sockets
- replaces the previous way (setting 'client_addr' to 0)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11930 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-17 13:23:34 +00:00
ultramage
ea5212c5a8 * TXT/SQL login server code synchronization
- exported several core structures to login.h
- split off ladmin communication code from the TXT login server
- removed all occurences of login_log(); a unified function should be added when SQL's loginlog_db logging code gets synced with TXT
- removed conf setting login_log_filename
- fixed ladmin getting timeouts since the ping system was changed
- removed login/char server_fd[] arrays, added server[].fd instead

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11826 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-27 19:38:16 +00:00
ultramage
4b8cf3c768 Removed some unneccessary charserver code.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11825 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-27 19:17:00 +00:00
skotlex
9a56a88f4a - Corrected the online_data_cleanup routine setting offline characters that are still connected to the char-server.
- Added a check in script command sc_end to properly end infinte endure
- ASC_BREAKER no longer triggers status effect cards.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11817 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-27 09:21:18 +00:00
ultramage
ef0971541b Removed one duplicit sql operation when saving items (bugreport:459)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11768 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-21 09:08:15 +00:00
skotlex
cf2d63d285 - Implemented a small change that was long overdue: Displaying the char-select screen now uses a single SQL query instead of up to 9.
- Fixed a bug in the update to prevent setting cell types on unwalkable cells.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11757 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-18 21:32:24 +00:00
skotlex
94896dc707 - setting npc cells will no longer work on non-walkable tiles (since you could do this to override cell types and make unwalkable cells walkable again, for example).
- Small fix in the char-server accept code.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11755 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-18 16:13:20 +00:00
ultramage
95f651807d Fixed a missing include/export, and typos in the previous revision.
Corrected wrong length values in one charserver packet.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11714 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-11 10:56:39 +00:00
ultramage
3b742b114e Fixed some more gcc incompatibilities...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11706 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-10 13:59:23 +00:00
ultramage
376a1f68ba * Re-worked the login-char-map packet spam mechanism
- 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://svn.code.sf.net/p/rathena/svn/trunk@11703 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-09 21:44:29 +00:00
FlavioJS
9d2688ad87 * Changed EXIT_SUCCESS back to 0 in console.c to avoid an unnecessary include.
* 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://svn.code.sf.net/p/rathena/svn/trunk@11698 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-08 14:08:32 +00:00
ultramage
492650729a Synced the charservers' init procedure.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11697 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-08 10:50:08 +00:00
ultramage
1fb3859183 Synced charserver char creation creation code
* removed most of the creation failure messages printed to console
 * fixed sql charserver letting you use control chars in char names
 * new chars will not start with the 'Knife' and 'Cotton Shirt' equipped anymore (charserver blindly placed magic values into the equip field)
Fixed a glitch where all packets immediately after the map->char login packet would get discarded and the mapserver disconnected.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11696 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-08 10:17:44 +00:00
ultramage
98a809813b AGAIN corrected the sql charserver query that broke TXT->SQL conversion (fixed in r10835, reverted in 11245...)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11642 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-02 18:01:58 +00:00
ultramage
2cb8a5838e * Fixed TXT charserver doing periodic random-sized memory allocation (bugreport:312)
* Set 'Create Converter's produce success rate to 100% (bugreport:302)
* Added check that verifies weapon/ammo/state requirements also when casting finishes (might have unwanted side-effects tho'!) (bugreport:228)
* Fixed Firewall knocking back undead/fire element mobs (bug in r11578)
* Added dummy 'openmail' to txt server to fix a script error message

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11585 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-27 11:59:35 +00:00
ultramage
d091f1cf05 * Cleaned up some messy guild code (more to come)
* Cleaned up the mail code, no more pointless dynamic allocation
* Added upgrade_svn11548.sql to convert the mail table to new format
* Updated vs7 and vs6 project files
* Increased the max. send buffer size to 5M since 1M is not enough
* Please complain if something stops working ^^;

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11571 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-24 12:14:18 +00:00
zephyrus
c34325a53b - Added the new mail system. Requires optimization and tests.
- Updated the maildb sql structure.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11548 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-22 20:38:26 +00:00
ultramage
6cca14200e Fixed a nasty bug from r11410 which let people create chars with already taken char names, and (in TXT's case) even cause a crash.
Closes bugreport:234.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11530 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-20 21:21:54 +00:00
ultramage
0bbf505d59 * Merged do_sendrecv() and do_parse() into do_sockets()
* 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://svn.code.sf.net/p/rathena/svn/trunk@11503 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17 20:24:48 +00:00
ultramage
d2b0e3a658 Fixed charsrever crashes, caused by r11410
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11466 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-14 17:44:09 +00:00
ultramage
8ac3690bca * Fixed wrong index calculation in TXT char creation code (ref: r11410)
* Fixed SQL itemdb loading crash on NULL columns (ref: 11398)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11434 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-12 23:15:27 +00:00
ultramage
83863850b5 Charserver cleaning / code simplification.
Removed min. 4-letter restriction on char creation name length (but still must be longer than 0).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11410 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-11 16:56:08 +00:00
zephyrus
7c12bd5a32 - Ops!.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11379 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-07 21:53:04 +00:00