- Added support for strcharinfo(3) to retrieve the player's map
- Added script command "searchitem" for name item searches.
- Moved PACKETVER to src/common/mmo.h as it's needed by the char-server now
- Changed the status valX from int to long so that it won't break for pointer-storage in other architectures.
- Moved the change party leader code to party.c
- A few bugfixes or packet field completions based on my past experience messing around with my server.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14155 54d463be-8e91-2dee-dedb-b68131a5f0ec
- support for font formatting, like font-size
- `bc_woe` flag to allow client-side filtering of WoE announcements
- new broadcast packet 0x40C
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14120 54d463be-8e91-2dee-dedb-b68131a5f0ec
Inverted the way renames are counted: '0' now means 'no renames left' (the default).
Please make sure your database matches this new behavior before starting the server.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14093 54d463be-8e91-2dee-dedb-b68131a5f0ec
This essentially reverts the default behavior to before r10021.
Re-enabling should only be reconsidered after the subnet mechanism is made fully automatic.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14069 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Clarified char_maintenance config option.
* Changed packet 0x2712. (added request_id)
* Changed packet 0x2713. (added sex, request_id, version, clienttype; removed email, expiration time, gmlevel)
* Delayed user count check and mmo_char_send006b to when the account data arrives.
* Created auxiliary function MD5_Salt.
(split from a future commit that was getting to big for my taste)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13652 54d463be-8e91-2dee-dedb-b68131a5f0ec
Added sql upgrade script to adjust the appropriate char table columns.
This is an enhancement to r5762.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13541 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Number 2 didn't exist in old clients so it used the default message, now it exists so the wrong message is displayed.
- Changed 2 to 0xFF to get the default message.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13356 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleaned around the char set offline function to properly avoid setting offline a character that had relogged faster than the map server's packet arrival to the char-server (I presume this was the bugfix that Kevin attempted a long time ago, but the current code for that causes a dangling pointer problem).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13293 54d463be-8e91-2dee-dedb-b68131a5f0ec
- caused by incorrect idb_ensure -> idb_get change (see r12950)
- removed redundant account_id variable from storage data
- cleaned up the very messy txt storage handling code
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13093 54d463be-8e91-2dee-dedb-b68131a5f0ec
* the login server storage, ipban and logging systems have been abstracted and now provide a common interface; the rest has been merged into a single login server core (no more login/login_sql duplicity)
* storage systems are now added via compiler options (WITH_SQL / WITH_TXT)
* multiple storage engines can be compiled in at the same time, and the config option account.engine defines which one will be used.
* due to MySQL autoincrement limitations, accounts with id '0' will not be supported; account IDs from this point on should start from '1'.
* login_log() functions now again record IP addresses in dotted format, not as 4-byte integers (undo from r6868).
* removed config options that defined column names in the login table
* removed `memo` and `error message` columns from login db/savefile
* moved `loginlog` table to the logs database
* added sql files upgrade_svn12975.sql and upgrade_svn12975_log.sql
* due to changes to the login table layout, I added an !optional! sql file (upgrade_svn12975_view.sql) that will provide a certain degree of backwards compatibility with existing software; read the instructions inside carefully!
* moved third-party includes/libs to a separate directory
* updated project files / makefiles
Changed the way GM levels are handled
* removed conf/gm_account.txt
* added the gm level column to the txt savefile (after 'email' column)
* gm level information is now transferred along with account data
For open problems see bugreport:1889.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13000 54d463be-8e91-2dee-dedb-b68131a5f0ec
* storage is now loaded/saved along with character status
* as a consequence, a lot of storage handling code was removed
* there is no more locking done within storage data
* mapservers no longer cache the data (solves muiltimapserver exploit)
* loading storage on char select may decrease charserver performance
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12950 54d463be-8e91-2dee-dedb-b68131a5f0ec
Corrected party invite failure not informing the inviting player.
Cleaned up some foreach() code int_party.c.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12711 54d463be-8e91-2dee-dedb-b68131a5f0ec
Merged some recent changes from SQL to TXT, as someone didn't bother to do it.
Ifdefed the quest data request code as SQL-only (this was causing server disconnects whenver someone logged in).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12606 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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://svn.code.sf.net/p/rathena/svn/trunk@12579 54d463be-8e91-2dee-dedb-b68131a5f0ec
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
- 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
* 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