Quote:
Originally Posted by Sarabveer
Yo, Ips, hit me up with a log IP address.
I got TF2MvM server back up.
BTW, my server uses the gameME plugin.
|
PM Sent. FYI guys, I've just about got the database done.
It has the following DB tables.
- clans_patterns - Holds patterns for clan tag matching
- engines - game engines (for future support of other engines possibly)
- games - game information & per game statistics
- games_actions - action lists
- games_clans - clan list and per clan statistics
- games_maps - map list as per map statistics
- games_maps_heatmap_config - this holds the configuration for heatmap templates
- games_maps_heatmap_data_base - This is a template table, every month will get it's own copy of this for performance / archive / and easy pruning
- games_players - player statistics per game
- games_players_actions - action statistics per player
- games_players_aliases - other names used by players for a game
- games_players_map - map statistics per player
- games_players_maps_weapons - weapon statistics per map per player
- games_players_teams - team statistics per player
- games_players_roles - role statistics per player
- games_players_weapons - weapon statistics per player
- games_ranks - rank listing per game
- games_roles - role statistics per game
- games_servers - server list and per server statistics
- games_servers_chats - chat data per server
- games_servers_players - online players and cached statistics (MEMORY TABLE)
- games_teams - game team list and per team statistics
- games_weapons - list of weapons and per weapon statistics
- players - unique player listing (tracks players across multiple games via steam_id)
Everything is structured such that there will be no reason to ever do full table scans and SUM() the data. That crap is slow. On top of that this new architecture allows for proper foreign keys. All tables have a primary key that is an 'id' column (SMALLINT/INT/BIGINT). Other tables wanting to reference another obect use this ID. No more referencing via 'codes'.
On the backend the script will maintain reverse lookup tables that turn a code into an id. This combined with the timestamps every table and row will have makes it so changes to configurations and options will be done (almost in real time). I haven't created an options table yet.