(Python3) Creates an sqlite3 database from Xonotic's game server database.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
6fe717a453 Added note about version of Xonotic tested with 1 year ago
modules Clean up - repo now contains only whats needed 2 years ago
queries Extended mranks to include best time and by which player. 2 years ago
.gitignore Added ignore file. 2 years ago
LICENSE Added license 1 year ago
README.md Added note about version of Xonotic tested with 1 year ago
main.py Added option to export into sql query file 1 year ago

README.md

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