394 Commits

Author SHA1 Message Date
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
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
FlavioJS
7bfaec4529 * Normalized makefiles:
- 3 sections: variables, public targets, private/support targets
- object files always in a *_OBJ variable
- header files always in a *_H variable
- object files always generated to an obj* subfolder
- all Makefiles can be executed individually, calling other makefiles if necessary
- generic object targets when possible

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11812 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-26 22:36:30 +00:00
FlavioJS
78571e990c * Fixed a memory leak in mail_savemessage (src\char_sql\int_mail.c).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11807 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-26 03:25:34 +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
b5cf6976a2 Fixed some homunculus skill offset calculation mistakes (bugreport:363)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11731 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-14 09:31:47 +00:00
zephyrus
0cf565292d - Important fix to Mail System allowing (by a low change) items duple.
- Added picklog to mail.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11721 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-12 08:55:36 +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
ac33a63e54 * Added names to the SC_ and SI_ enums, now they can be used to properly indicate where such values are to be used (replaces usage of 'int')
* removed MIN_/MAX_PORTAL_MEMO, set MAX_MEMOPOINTS from 10 to 3
* removed support for @go-ing to your memo points
* simplified the overly verbose @memo command; now re-uses pc_memo()
* cleaned up pc_memo(), now uses semi-correct packet replies
* Minor code cleaning/formatting

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11625 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-31 13:20:48 +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
b6bbaef27b Followup fixes to r11583:
* fixed wrong sql upgrade file name, added svn:eol-style native
 * made 'status' variable directly use the mail_status enum
 * replaced some hardcoded numbers in mail queries with references to the enum
 * fixed a query which still used 'read_flag'
 * fixed all new mails being displayed as 'already read'
 * removed sd nullpo checks from parse_ functions as that can never happen
 * fixed mapserver sending (and charserver saving) junk item fields when there is no item attached to a mail
 * fixed wrong mail send packet interpretation saving random memory after message body ('body_len' doesn't include the terminating zero)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11584 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-27 09:48:27 +00:00
zephyrus
284222a415 - Improvements to the mail system.
- Added a sql patch, renaming "read_flag" column to "status" on the mail db.
- Need more testing.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11583 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-27 06:34:04 +00:00
ultramage
e0cccf7d12 * Removed confusing map_nick2sd_nocase(), let the charserver handle it
* Added correct packet for attachment retrieval failure when overweight
* Fixed one more mistake in r11571 (Sql->SqlStmt)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11579 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-26 08:42:32 +00:00
FlavioJS
d9774ac8ca * Corrected a fex misshaps from r11571:
- disabling the memory manager
- using the wrong length for the title and body in mail_savemessage
* Removed the quick-fix in the npc duplicate check and the impossible condition that is generating the warning.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11573 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-24 13:29:00 +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
b96d3cb54c - Another FALSE to false... sorry.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11561 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-23 16:13:35 +00:00
zephyrus
3b34abfc21 - Fixed a compilation bug on linux (FALSE -> false)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11560 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-23 15:35:02 +00:00
zephyrus
a0b1a582a1 * Removed the inter_athena.conf maildb settings as they are not required anymore.
- MailDB is now an integral part of the MainDB.
- To Server Admins, use mysql tools to move your mail data to the new structure.
- You can get the maildb structure from main.sql.
- Renamed some vars (recomendation of Ultramage :D)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11557 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-23 00:31:37 +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
3d7a129b90 Using predefined constants as parameters to the exit() function.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11501 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17 17:20:01 +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
zephyrus
8c1bd7bfd8 - Bug ID #184: Char Creation With An Empty Name [Zephyrus]
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11377 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-07 20:46:50 +00:00
ultramage
286e1a32c4 * Added MAX_HOTKEYS to supplement the HOTKEY_SAVING define
* Fixed a compile problem when hotkey saving is disabled (topic:167265)
* Added script source error reporting to countitem() (topic:167165)
* Removed integer mob skill state/target definition support (unused)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11353 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-04 16:16:44 +00:00