{% extends "base.html" %} {% block title %}Maintenance - Admin - DigiServer v2{% endblock %} {% block content %}

🛠️ Maintenance

Administrative tools for database health, leftover records and player authentication.

← Back to Admin

🧩 Database Integrity

Runs SQLite's integrity_check, quick_check and foreign_key_check to confirm the database file is healthy and no rows reference missing parents. Optimize runs VACUUM and ANALYZE to reclaim free space.

🧾 Leftover Database Records

Rows that point at a player, playlist or content item that no longer exists — typically left behind after deleting a player. Cleaning removes them (or clears the dangling link); it never touches valid data.

🔑 Player Authentication Tokens

Resetting a token invalidates the player's current credentials. On its next heartbeat the player is told to authenticate again and receives a fresh token.

Days before a token expires automatically. Use 0 to disable. {% if auth_config %}
Last changed by {{ auth_config.updated_by or 'unknown' }} {% if auth_config.updated_at %} on {{ auth_config.updated_at | localtime('%Y-%m-%d %H:%M') }} {% endif %} {% else %}
Not configured yet. {% endif %}
{% for player in players %} {% set age = player.auth_token_age_days() %} {% else %} {% endfor %}
Player Status Token Age Re-auth Actions
{{ player.name }}
{{ player.hostname }}
{% if player.is_online %} ● Online {% else %} ○ {{ player.status or 'offline' }} {% endif %} {% if age is not none %} {{ '%.1f'|format(age) }} day(s) {% if player.auth_token_issued_at %}
issued {{ player.auth_token_issued_at | localtime('%Y-%m-%d %H:%M') }}
{% endif %} {% else %} — {% endif %}
{% if player.auth_reset_required %} pending {% else %} — {% endif %}
{% if player.auth_reset_required %}
{% endif %}
No players registered yet.
{% endblock %}