Here is what was done since last post i made:
MATCH & RATING:
[+] Full ranked match recording. Every finished match is written with both
sides, teams, score, how it ended, region and timestamps.
[+] Live rating ladder. Win, draw and loss each move the rating by a configured
amount, and points accumulate alongside it.
[+] Divisions D5 to D1, awarded from where the rating lands.
[+] Six skill levels from Beginner to Superstar, following the rating.
[+] Full career record: matches, wins, draws, losses, goals for and against,
current win streak and best win streak ever.
[+] Disconnect handling. A player who leaves forfeits, and the side that stayed
is credited with the win.
[+] Fair play counter. The commendation given at the end of a match is stored
and shown on the player card.
[+] Placement ratings. The rating a player carried out of each of their first
five ranked matches is kept, which is what the game reads while a new
player's rating is still settling.
[+] Skill based matchmaking. Players are paired by the level the client
reports.
[+] Match history per player, and a distinct opponent list.
PROFILE & SETTINGS:
[+] Avatars. Upload, storage and delivery, with size and checksum validation.
[+] Manner grade, sent as the nested record the game reads, carrying fair play
count, manner rating and disconnect rate together.
[+] Nickname tags. Fifty tags in the database, unlockable per account, with the
three the game ships with available from the start.
[+] Player card: birthday, country, area, favourite team, favourite player and
intro text.
[+] Global rank, counted live from the rating ladder.
[+] Chat preference per account.
[+] Profile caching with automatic invalidation on every write, so a result
screen always shows the rating from the match that just ended.
ROOMS & LOBBIES:
[+] Four blocks, each with its own lobbies, named the way Konami numbered them
[+] Room creation, joining, leaving and readiness tracking.
[+] Host migration.
[+] Live room list. Rooms and players appear and disappear as they happen,
without needing a screen refresh.
[+] Live player lists inside a room, updated on join and leave.
[+] Region population counts, published every ten seconds, including honest
numbers for regions this machine does not serve.
[+] Lobby match list.
PEER TO PEER:
[+] Full P2P handshake between matched players: host address, reflexive address
and NAT type exchanged both ways.
[+] STUN server on three ports for NAT discovery.
[+] Relay addressing for players who cannot connect directly.
[+] Network quality grading with green, yellow and red thresholds, feeding the
input delay the game picks.
COMMUNITIES:
[+] Create, join, withdraw, delete.
[+] Owner controls: kick a member, set the description, set a password, set how
far the community card opens.
[+] Community browser with keyword and language search, paged.
[+] Community card with the full member roster and who is online.
[+] Joined community list and a default community per player.
[+] Removal notice. A member removed by an owner is told once, the next time
they connect.
[+] Community mode presence, so the server knows who is in the community
section.
FRIENDS & SOCIAL:
[+] Friend list with online state.
[+] Friend requests.
[+] Block list.
[+] Widget matchmaking from the pop-out panel, sharing the same queue as the
main menu.
[+] Recently played opponents list.
ANNOUNCEMENTS & CONTENT:
[+] Pre-login and post-login announcement screens, each targetable separately
from the portal.
[+] Information screen, filterable by language.
[+] Welcome message, licence text and top menu announcements.
[+] Broadcast to everyone currently online.
[+] Data pack and patch version reporting.
MASTER LEAGUE ONLINE:
[+] Team creation with name, short name and base team.
[+] Squad storage and player ratings.
[+] Team funds, power and resources.
[+] Master League record: matches, wins, draws, losses, goals, streaks.
[+] Game plan storage.
ADMIN PORTAL:
[+] Account management.
[+] Announcement and information publishing.
[+] Team and squad data.
[+] Nickname tag management.
INFRASTRUCTURE:
[+] Single configuration file covering both deployment and game values.
[+] Panic isolation. A fault in one session cannot disconnect anyone else.
[+] Full request and response logging with the fields each command carried.
[+] Multi region ready: shared accounts and ladder, isolated play per region.