Proto commits in AngeloTadeucci/Maple2

These 62 commits are when the Protocol Buffers files have changed:

Commit:fe0b8bd
Author:Ângelo Tadeucci
Committer:GitHub

Field bosses (#653) * Field bosses * Improve field boss monitoring and robustness Several fixes and improvements around field boss handling and related services: - Unify channel ID type: change AliveChannels keys from short to int across World and Game components. - ChannelService: add monitoringBossFields to prevent duplicate lifetime monitors; MonitorExtendedBossLifetimeAsync now takes targetMapId, guards against LastDamageTick==0, uses logger, and removes the map from monitoring on exit. - WorldServer: make MonitorFieldBossLifetimeAsync cancellable by accepting a CancellationToken and using cancellable Task.Delay; suppress OperationCanceledException during shutdown. - GameSession: handle RpcException when fetching active field bosses and fix grouping/metadata lookup to correctly build boss groups and send world map data. - FieldBossUtil: compute next spawn by calculating cycles instead of looping to efficiently advance to the next occurrence. - NoticeCommand: adjust SetHandler generic parameters and early-return when an invalid StringCode is provided. These changes improve correctness, prevent duplicate monitoring tasks, and add resiliency during RPC failures and server shutdown. * Rename FieldBoss to WorldBoss * Update world.proto

The documentation is generated from this commit.

Commit:8ff3316
Author:Ângelo Tadeucci
Committer:GitHub

Implement Monthly and Weekly reset (#645) * Reset shop restock counts and market limits on daily/weekly reset - Add shop restock reset (RestockCount=0) in daily reset for Day interval and weekly reset for Week interval (character-shop-data table) - Add meso market limits reset (MarketLimits JSON) in daily reset - Add ShopManager.DailyReset() and WeeklyReset() for in-memory state - Call Shop.DailyReset()/WeeklyReset() from GameSession reset methods - Remove resolved TODO comment about shop restock reset Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Complete WeeklyReset implementation across all layers * format * Fix WeeklyReset issues: set LastModified on create, reset instancedShops, send MesoMarketQuota packet, use Constant.ResetDay and midnight anchor * Add weekly-reset command for testing * Add monthly reset and update reset logic Introduce a monthly reset flow and consolidate reset behavior across servers. Added GameResetRequest monthly proto, GameStorage monthly methods (GetLastMonthlyReset, MonthlyReset) and DB updates to reset market/purchase limits and dungeon clears. WorldServer now schedules and broadcasts monthly resets; ChannelService, GameServer and GameSession handle monthly reset actions. ShopManager/Shop/ShopItem and dungeon manager now reset item StockPurchased and clear daily/weekly dungeon clears in-memory and persistently. Also filter null plots in map loading and replace separate daily/weekly CLI commands with a unified reset command supporting daily/weekly/monthly. * Update CLAUDE.md * format * Fix CreateServerInfo to initialize LastModified --------- Co-authored-by: Gustavo de Rosa <gth.rosa@uol.com.br> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Commit:e023540
Author:Ângelo Tadeucci
Committer:GitHub

Add banning accounts (#572) * Add banning accounts * suggestion

Commit:f769b83
Author:Ângelo Tadeucci
Committer:GitHub

Plot expiration & misc home fixes (#525) * Plot expiration * Update Maple2.Server.Core/proto/common.proto Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * suggestions * suggestion --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

Commit:59e435b
Author:Ângelo Tadeucci
Committer:GitHub

Fix: migrate to another server/game session (#503) * Merge migrate functions * Fix: migrating to another server/game session Implemented a lock mechanism to only allow one database operation per account id * suggestions * suggestions

Commit:f60b488
Author:Zin
Committer:GitHub

Misc Additions (#478) * Misc Fixes * Fix on ItemMapper * Rabbit fixes * fixes

Commit:97a6529
Author:Zin
Committer:GitHub

Trophy Rankings, Ranking Packets, & WIP Mentoring (#440) * Mentor & Rankings * formatting * comments * removed unneeded * formatting * fix beauty, fix itemmapper

Commit:d7cd2dc
Author:Ângelo Tadeucci
Committer:GitHub

Fix LoginSession not disposing (#430) * Fix LoginSession not disposing * join heartbeat thread * rework * oops * fix * oops2 * suggestions * rabbit * format

Commit:2563441
Author:Zin
Committer:GitHub

Fix: Multi Person Mounts, Buff Chain Condition, and Enchant Announcement (#417) * multi mount fix, enchant announcement, minor buff tweaks * bot comments, another fix

Commit:15ead17
Author:Zin
Committer:GitHub

Feat: Death & Revive (#410) * Feat: Death & Revive * fix value setting on Tombstone * Fixes, Update HP and Death properly

Commit:316250d
Author:Zin
Committer:GitHub

Cache Buffs and Skill Cooldowns (#409) * Cache Buff and Skill Cooldowns * rabbit comments. Good rabbit * formatting * rabbit fixes * remove debug line * wrong timespan fix * nit fix

Commit:5b342b8
Author:Zin
Committer:GitHub

Player Reporting, Custom String Boards, and Alerts (#401) * Player Reporting, Custom String Boards, and Alerts * rabbit comments * more comments * formatting

Commit:8f58fd8
Author:Zin
Committer:GitHub

GoTo Player Warp Command (#396) * GoTo Player Warp Command * fix warp * oops.

Commit:f82310f
Author:Zin
Committer:GitHub

Dungeon Creation Adjustments, Dungeon Rewards WIP, and Mini Game Rewards (#375) * Liftable Cube Changes * PR fixes * add return * Formatting * Update scripts * so much * clean up dungeon manager and factory * PR fixes, formatting

Commit:2cfa8f1
Author:Zin
Committer:GitHub

Conditions (#347)

Commit:2c42dbc
Author:Zin
Committer:GitHub

Dungeon User Data (#343) * Dungeon Player Stats - initial steps * DungeonEligibility on PlayerInfo * User Dungeon Data * Migrations

Commit:cad3642
Author:Ângelo Tadeucci
Committer:GitHub

Feat: Instanced Content Channel (#340) * Feat: Instanced Content Channel * fix switch character * Use ConcurrentDictionary * Update ChannelClientLookup.cs * Zin suggestion Rename LastChannel to ReturnChannel * Update GameSession.cs * Update GameSession.cs

Commit:27b0198
Author:Zin
Committer:GitHub

FieldManager rework & Initial DungeonField implementation (#341) * FieldManager rework * dungeon stuff * InteractCube changes, DungeonManager additions * Formatting * Clean up DungeonSet * added debug log for item calc lua

Commit:afa87d0
Author:Ângelo Tadeucci
Committer:GitHub

Account Wide Mails (#293) * Account Wide Mails * fix * Update GameStorage.Mail.cs * 🐰 suggestion

Commit:a234c93
Author:Zin
Committer:GitHub

Weddings Pt. 2 (#279) * Weddings Pt. 2 * PR changes from rabbit comments * Update GameStorage.Wedding.cs

Commit:bf21787
Author:Ângelo Tadeucci
Committer:GitHub

Home Layouts (#236) * Home Layouts * Update Maple2.Model/Enum/HomeSetting.cs Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * rename enum --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

Commit:b3568d3
Author:Ângelo Tadeucci
Committer:GitHub

Feat: House Decor Planner (#229) * Feat: House Decor Planner * format

Commit:793e062
Author:Ângelo Tadeucci
Committer:GitHub

Feat: Guild UGC Poster & Emblem (#225) * Feat: Guild UGC Poster & Emblem feat: guild home teleport fix: instanced guild field * Update GuildController.cs * Fix: guild house migration * . * Fix FieldManager * Update GameSession.cs * Update FieldManager.cs

Commit:ab9f9f3
Author:Ângelo Tadeucci
Committer:GitHub

fix: GRPC game ip (#220) * stuff * fix: GRPC game ip

Commit:7a95c62
Author:Ângelo Tadeucci
Committer:GitHub

Feat: dynamic channel (#202) * Feat: dynamic channel * Update WorldService.GamePorts.cs * Update ChannelClientLookup.cs * Update .env.example * Update .env.example Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: updating channel list when changing maps * fix: rename proto message * change channel to short --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

Commit:856bc96
Author:Zin
Committer:GitHub

Game Event Rework - Pt 2 (#198) * Schedule Events * Drop Table, cleanup

Commit:63fd175
Author:Zin
Committer:GitHub

Global Portal / Massive Events (#192) * Global Portal * Update TimeEventTable.cs * format * PR comments * Change sleep to 15ms on field

Commit:473d377
Author:Kelvin
Committer:GitHub

Handlers for Guild CheckIn, UpdateLeader, UpdateNotice, UpdateEmblem (#181) * Handlers for Guild CheckIn, UpdateLeader, UpdateNotice, UpdateEmblem * synchronize only critical section * ExpUp for guild checkin * cleanup * reward guild coin for checkin * fix check in exp amount * Use metadata for checkin * pr comments * pr comments

Commit:e11ba77
Author:Zin
Committer:GitHub

Clubs (#178) * wipp * WIP Clubs * Clubs without buffs * Update PartyPacket.cs * clean up * Update Maple2.Server.Game/Manager/Field/AgentNavigation.cs Co-authored-by: Ângelo Tadeucci <angelo_tadeucci@hotmail.com.br> * migration merge * Update GuildManager.cs * PR comments * PR fixes for sync * Add LoginTime to player, change sync infos to updates * Use LastModified * Remove LastOnlineTime flag * Remove LoginTime on partymember --------- Co-authored-by: Ângelo Tadeucci <angelo_tadeucci@hotmail.com.br>

Commit:84657d7
Author:Ângelo Tadeucci
Committer:GitHub

Home template & fixes (#159) \* Squashed commit of the following: commit 6d43d0c289d480d0a3f499cc777cd9c0a2c8b3ac Author: Ângelo Tadeucci <angelo_tadeucci@hotmail.com.br> Date: Wed May 29 23:55:32 2024 -0300 fix location ² commit 7552ac8f703f7528eb10ecb824d9ed4465d1c969 Author: Ângelo Tadeucci <angelo_tadeucci@hotmail.com.br> Date: Wed May 29 23:53:19 2024 -0300 file location commit 5c24e170f2e0c14e3c5501f8b780c069a62e2cee Author: Ângelo Tadeucci <angelo_tadeucci@hotmail.com.br> Date: Wed May 29 23:34:34 2024 -0300 feat: packet resolver from mapleserver2 * Create HomeCommandPacket.cs * check home area & quest conditions * Update SetCraftModeHandler.cs * fix: create quest - owner id * fix: home creation * feat: home templates * fix: save home with no template * Update HousingManager.cs * fix condition * handle game to game migration to diff mapid * fix: player loading position * small fixes to outdoor plots * fix: outdoor plot name * Update HousingManager.cs

Commit:62fd723
Author:Zin
Committer:GitHub

Item Chat Linking (#138) * Guild and Party chat * Chat Item Linking * formatting, remove debug line

Commit:a5587f9
Author:Zin
Committer:GitHub

Guild and Party chat (#136)

Commit:55e654c
Author:Zin
Committer:GitHub

Black Market Pt 2 (#133) * Black Market pt 2 * Update MailType.cs * Update BlackMarketManager.cs

Commit:c83724b
Author:Zin
Committer:GitHub

Black Market - Part 1 (#123) * Pt 1 Black Market * Update BlackMarketManager.cs * borken migrations * Stat check * format * Update Maple2.File.Ingest.csproj

Commit:d509b00
Author:Zin
Committer:GitHub

Daily Reset (#115) * Daily Reset * DailyReset DB query * ServerInfo table * formatting * Update format.yml

Commit:9524dfe
Author:Ângelo Tadeucci
Committer:GitHub

fix: multiple channels (#106) #53

Commit:a7e7465
Author:Zin
Committer:GitHub

Party Finder (#107) * Party Finder * Update channel.proto

Commit:4a00492
Author:Zin
Committer:GitHub

Party Vote Kick (#103) * Vote Kick * Update PartyVote.cs

Commit:41139b2
Author:Zin
Committer:GitHub

Party Ready Check (#101) * Ready Check * Remove cooldown * add Expired Vote * remove debug line

Commit:42d31bd
Author:Zin
Committer:GitHub

Feat: Group Chat (#3) * Slowly adding functionality * protos done * Group Chat functioning * Clean up * PR fixes * merge fix * more fixes

Commit:ccea2de
Author:Sky
Committer:GitHub

Add base party implementation (#58)

Commit:c308b12
Author:Kelvin
Committer:Kelvin

Support updating guild member rank/message

Commit:9fd11f1
Author:Kelvin

Propagate PlayerInfo updates for guilds

Commit:f40a6aa
Author:Kelvin
Committer:Kelvin

Implement basic guild operations

Commit:9f7c741
Author:Kelvin

Add basic guild requests to WorldService

Commit:5ed35f0
Author:Kelvin
Committer:Kelvin

Base framework for PlayerInfo updates

Commit:7650e22
Author:Kelvin

Add mail notifications and MesoMarket mail - Fix mail collecting

Commit:cd74102
Author:Kelvin
Committer:Kelvin

Add support for channels - Remove Registration for GameServer, monitor from world server with deterministic ports

Commit:ae9217b
Author:Kelvin

Character and Account online detection

Commit:cb1c97a
Author:Kelvin

Add Grpc HealthCheck endpoint - GameServer registration with WorldServer - Consolidate IP/Port env variable parsing

Commit:484fe3d
Author:Kelvin
Committer:Kelvin

Implement Buddy list

Commit:2ef6271
Author:Kelvin
Committer:Kelvin

Implement Buddy Invite,Accept,Decline

Commit:882dc3d
Author:Kelvin

Buddy request server routing - Track player's channel via migration

Commit:db9effd
Author:Kelvin

Basic whisper handling - Tracking Account/Character online status

Commit:23547fa
Author:Kelvin

Add chat handling framework

Commit:b7993ad
Author:Kelvin
Committer:Kelvin

Add support for quitting to character select

Commit:eb44ecb
Author:Kelvin

Validate machine_id on migration

Commit:c081d58
Author:Kelvin

Improvements for login flow

Commit:7ba9561
Author:Kelvin
Committer:Kelvin

Add auth with Global service

Commit:9755052
Author:Kelvin

Add WorldService migration apis

Commit:e4e5d3a
Author:Kelvin
Committer:Kelvin

Split up servers into separate projects

Commit:eb6be27
Author:Kelvin

Initial integration with grpc