429 Commits

Author SHA1 Message Date
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
fa64cdae0d - Added the official adoption method.
( Parents need to create a party, invite a novice/first class, both equip the wedding rings and someone just right click the future baby ).
- Fixed a bug sometimes client don't show job's bonus stats.
- Removed the problematic adoption script.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12389 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-18 04:32:20 +00:00
zephyrus
a6e03e1102 - Clean up of calc_times function.
- Moved to timer.c/h because it's used in both map and char servers.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12382 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-17 15:03:03 +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
ultramage
8b00f6dbdd * extended the "npc_event: event queue is full" error message to also print the name of the event (so that the cause can be tracked down)
* removed a strange (and undocumented) event name check for "GM_MONSTER" in the npc event execution code
* added effects from recent sakexes to effects list
* removed ladmin from vs8 sql builds
* added int_auction.c/.h to vs6 and vs7 project files
* some small cleanups

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12362 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-14 12:59:02 +00:00
zephyrus
ad2bb04eab - Bug ID #1152: Auction System Mail Message Typos
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12338 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-10 23:12:53 +00:00
zephyrus
0b52a40be3 - Fixed a bug allow GM with notrade to send zeny.
- Added a fix into auction system allow to direct buy or increase your own bid if you reach the 5 bids limit.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12335 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-10 02:44:07 +00:00
ultramage
a08c56007a Corrected a problem where a party invite acknowledgement would not be sent (bugreport:1091).
There is still the unresolved issue where newly added party members will not display their party correctly.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12328 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-08 23:03:06 +00:00
zephyrus
0c381f2877 - Auction System implementation completed.
- As mail system, this will need a "mapflag" or something to only allow auctions on some maps.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12325 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-08 20:11:28 +00:00
zephyrus
a6a68c756d - Added support for Auction Close and Cancel.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12323 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-08 15:52:15 +00:00
zephyrus
8051df3245 - Fixing the time calculation. (Missing "()" <<)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12322 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-07 23:09:13 +00:00
zephyrus
e8548adb44 - Moved the auction time controls only on Char Servers.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12321 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-07 21:41:53 +00:00
zephyrus
62c41846f0 - Fixed some bugs on auction.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12318 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-07 20:38:33 +00:00
zephyrus
8371e84434 - Added some debug messages to test Auctions.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12317 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-07 16:26:39 +00:00
zephyrus
076f76077d - More updates to Auctions. Now you "really" can register auctions, limit to 5 per char (according to official info).
- Also added the Buy and Sell lists.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12314 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-07 05:08:12 +00:00
zephyrus
df249eaed2 - More official way of auction mails.
- Added a new condition in mail. If sender_id = 0 you just can't return that mail.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12313 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-07 02:37:47 +00:00
skotlex
5a8962fca0 - Corrected pc_checkitem not behaving correctly when you had more than one equip with a restricted card.
- Fixed non-chatroom owners being able to kick others from the chatroom.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12310 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-06 19:43:37 +00:00
ultramage
b0aeb8b2c9 eol-style:native for recently added files
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12305 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-05 17:46:40 +00:00
zephyrus
284334b4f0 - Merged Auction Search and Register. It seen to work fine, so you can test those.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12301 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-05 17:09:47 +00:00
skotlex
8ae4bd12ad - Updated firepillar so it cannot be placed on top of others.
- 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://svn.code.sf.net/p/rathena/svn/trunk@12293 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-04 18:04:04 +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
zephyrus
1cbcdaf3f2 - New optimizations for mail system and adjust to use it on Auctions.
- Added a Sql patch to clear all deleted mails. (There is no need to keep that data)
- Added more code for Auctions. Not implemented but just for study.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12278 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-02 19:07:14 +00:00
zephyrus
48ba5004a6 - Starting preparatives for Auctions System.
- Added the @auction command to open the auctions. Just to start working on it and if someone wants to help.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12270 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-29 23:10:29 +00:00
Lupus
e4f66f0ab9 Added $(CUSTOM_CFLAGS) into all Makefile.in to provide any custom defs directly to all sub make files
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12230 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-22 17:00:59 +00:00
skotlex
1e0a82fab3 - Fixed new guilds displaying online-connect member count at 0 rather than 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://svn.code.sf.net/p/rathena/svn/trunk@12223 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-21 00:13:56 +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
d68cc86799 Fixed one query that I missed when doing r11915
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11916 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-15 07:57:36 +00:00
ultramage
1e6922174e Guardian hp handling code removal (see bugreport:342)
- removed guardian hp from the castle data structure, database, savefiles and various script functions (use upgrade_svn11914.sql)
- removed guardian hp calculation and manipulation from the castle manager npc, now the hp values are updated by the server itself (glitch: when castle defense changes, all guardians are healed to full)
- tweaked script function 'guardianinfo' to provide some data needed by the manager npc (currently available are hp, maxhp and visibility); also, it doesn't need a player attached to execute anymore
The whole thing is experimental, use at your own risk (seems to work though...)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11915 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-14 23:38:11 +00:00
ultramage
2af4a7f61b Some more tweaks to the guild code
- unrolling of foreach()/_sub() pairs using db iterators
- usage of ARR_FIND instead of for()/break;
- old function header adjustment

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11896 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-12 14:18:46 +00:00
ultramage
8be1c4d48c * Some preparations for the guild script update
- 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://svn.code.sf.net/p/rathena/svn/trunk@11895 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-12 09:55:13 +00:00
ultramage
e464c81aea Removed the badly designed/unfinished guild_check_conflict() data integrity check (that wasn't actually being used up 'till now).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11894 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-12 09:41:51 +00:00
FlavioJS
754b397edf * Random cleanup/documentation.
* Made common/Makefile get the svn version from the src directory, not src/common.
* Added a warning message to the install and uninstall targets.
* Renamed all obj directories to obj_all, obj_txt or obj_sql in the makefiles (if an obj/ directory exists, BSD make enters it before reading the makefile)

(run ./configure to update your makefiles, and don't forget to do 'make clean' before updating)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11844 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-30 00:17:26 +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