Fix#66
- Fixed crashing of the world server when a client in a group zones
- Tracking of players group_id in the characters table (for both sanity and tracking cross zone)
- Clients zoning now properly 'rejoin' their group
- Mutex locks added to group code, this makes groups more reliably work across different zones as they run on different threads (some behavior for example was some players would not see chat and others would)
Fix#8
- the multiple 'version' handling in LS is removed, now just GetVersion() as before.
- Console commands '1' and '2' removed (would change world status to all clients). Version command added (was missing).
- Window Title updated to note version
- Some loose log messages (printfs) were made into proper "LOGIN" messages via log_config.xml
- Previously marked "World" messages that are also used as "Login" now properly categorized as such
- Removed DumpPacket on unknown opcodes (stop unnecessary data to console)
- Welcome banners on world/login updated
Fix#143
Adds flight_path_id, mount_id, mount_red_color, mount_green_color and mount_blue_color to transporters table
flight_path_id matches to StartAutoMount id or flight_paths id
mount_id matches to SetMount value
mount red/green/blue color are by default 255
Fix#67
Spawn table updated with merchant_min_level and merchant_max_level, extends to spawns, widgets, objects and signs.
Restricts the min level required and a max level cap on a player able to use the merchant (buy/sell/display)
/spawn set merchant_min_level x
/spawn set merchant_max_level x
In support of issue #125
- /house_deposit [??] [coin_amount] [status_amount] added
update query:
update commands set handler=518 where command='house_deposit';
- Escrow balance is tracked on the house
- Deposits are tracked for total and last deposit
- House upkeep payment now takes from escrow first
- character_house_deposits table added
CREATE TABLE `character_house_deposits` (
`timestamp` int(10) unsigned NOT NULL DEFAULT 0,
`house_id` int(10) unsigned NOT NULL DEFAULT 0,
`instance_id` int(10) unsigned NOT NULL DEFAULT 0,
`name` varchar(64) not null default '',
`amount` bigint unsigned NOT NULL DEFAULT 0,
`last_amount` bigint unsigned NOT NULL DEFAULT 0,
`status` int(10) unsigned NOT NULL DEFAULT 0,
`last_status` int(10) unsigned NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Fixes#10
LS database:
- md5 no longer used, now use sha2('password',512) instead for mysql/mariadb
- account table passwd expanded to 256 chars
- login_worldservers password field expanded to 256 chars
manual update:
\u eq2ls
alter table account modify column passwd varchar(256) not null default '';
alter table login_worldservers modify column password varchar(256) not null default '';
Fixes#24 - chest traps and the ability to disarm is implemented. Can restrict by zone (or applicable to all zones using -1), min and max chest difficulties.
1 = Small Chest (no trigger)
2 = Treasure Chest (trigger)
3 = Ornate Chest (trigger)
5 = Exquisite Chest (trigger)
DB/updates/chest_traps_tableandsamples.txt included - this will allow you to source in the chest_traps and some 'example' traps (not real ones just testing ones).
Disarm command also required for right click option on chest: insert into commands set type=0,command='disarm',subcommand='',handler=510,required_status=0;
Includes new table for characterProperties
DROP TABLE IF EXISTS `charactersProperties`;
CREATE TABLE `charactersProperties` (
`charid` int(10) unsigned NOT NULL DEFAULT 0,
`propname` varchar(64) NOT NULL DEFAULT '',
`propvalue` varchar(64) NOT NULL DEFAULT ''
) ENGINE=InnoDB;