# xonotic-py-sqlite3-defrag2db Creates an sqlite3 database from Xonotic game server databases (server.db) using Python3. ## Requirements Only Python3 and standard libraries. ## Usages ### Creating a Database File from server.db `python main.py [output.db] [server.db]` ### Creating an SQL Query File from server.db `python main.py -f [output.db] [server.db]` ## Database Info The output database will contain three tables, `Cts_times`, `Cts_ranks`, and `Id2Alias`. These are based strictly on the game server's database schema for details see `queries/schema.sql`. ### Sample Queries `queries/` contains sample queries for the database. * `queries/mleaderboard.sql`, given a map name, retrieves rank, player public key, and time record. * `queries/mplayers.sql`, given a map name, retrieves rank, player public key, and player alias. * `queries/mranks.sql`, for all maps, retrieves map name, number of records, best time, and alias of player with the best time. * `queries/rplayers.sql`, given a player public key, retrieves alias, map name, and given player's rank. ## Tested With * Xonotic 0.8.1 * Xonotic 0.8.2