Adds delayed start status for auto-launching servers when crafty starts.

This commit is contained in:
Andrew 2021-09-20 18:30:17 -04:00
parent f032f4054e
commit 6e54089890
9 changed files with 32 additions and 11 deletions

View File

@ -88,9 +88,11 @@ class Controller:
if s['auto_start']:
db_helper.set_waiting_start(s['server_id'], True)
db_helper.get_waiting_start(s['server_id'])
server_stats = db_helper.get_server_stats_by_id(s['server_id'])
print(server_stats['waiting_start'])
server_stats = db_helper.get_all_servers_stats()
self.refresh_server_settings(s['server_id'])
console.info("Loaded Server: ID {} | Name: {} | Autostart: {} | Delay: {} ".format(
s['server_id'],

View File

@ -469,6 +469,11 @@ class db_shortcuts:
with database.atomic():
Server_Stats.update(waiting_start=value).where(Server_Stats.server_id == server_id).execute()
@staticmethod
def get_waiting_start(server_id):
waiting_start = Server_Stats.select().where(Server_Stats.server_id == server_id).get()
return waiting_start.waiting_start
@staticmethod
def get_TTL_without_player(server_id):
last_stat = Server_Stats.select().where(Server_Stats.server_id == server_id).order_by(Server_Stats.created.desc()).first()

View File

@ -195,7 +195,6 @@ class Server:
if helper.check_internet():
loc_server_port = db_helper.get_server_stats_by_id(self.server_id)['server_port']
if helper.check_port(loc_server_port):
db_helper.set_waiting_start(self.server_id, False)
websocket_helper.broadcast('send_start_reload', {
})
else:
@ -207,7 +206,7 @@ class Server:
'error': translation.translate('error', 'internet')
})
db_helper.set_waiting_start(self.server_id, False)
self.process = pexpect.spawn(self.server_command, cwd=self.server_path, timeout=None, encoding='utf-8')
out_buf = ServerOutBuf(self.process, self.server_id)

View File

@ -123,6 +123,8 @@ class PanelHandler(BaseHandler):
elif page == 'dashboard':
if exec_user['superuser'] == 1:
page_data['servers'] = db_helper.get_all_servers_stats()
for data in page_data['servers']:
data['stats']['waiting_start'] = db_helper.get_waiting_start(int(data['stats']['server_id']['server_id']))
else:
user_auth = db_helper.get_authorized_servers_stats(exec_user_id)
logger.debug("ASFR: {}".format(user_auth))
@ -172,6 +174,7 @@ class PanelHandler(BaseHandler):
# server_data isn't needed since the server_stats also pulls server data
page_data['server_data'] = db_helper.get_server_data_by_id(server_id)
page_data['server_stats'] = db_helper.get_server_stats_by_id(server_id)
page_data['waiting_start'] = db_helper.get_waiting_start(server_id)
page_data['get_players'] = lambda: self.controller.stats.get_server_players(server_id)
page_data['active_link'] = subpage
page_data['permissions'] = {

View File

@ -132,7 +132,7 @@
{% elif server['stats']['updating']%}
<a data-id="{{server['server_data']['server_id']}}" class="">{{ translate('serverTerm', 'updating') }}</i></a>
{% elif server['stats']['waiting_start']%}
<a data-id="{{server['server_data']['server_id']}}" class="">{{ translate('serverTerm', 'starting') }}</i></a>
<a data-id="{{server['server_data']['server_id']}}" class="" title={{ translate('dashboard', 'delay-explained')}}>{{ translate('dashboard', 'starting') }}</i></a>
{% else %}
<a data-id="{{server['server_data']['server_id']}}" class="play_button"><i class="fas fa-play" data-toggle="tooltip" title={{ translate('dashboard', 'start') }}></i></a> &nbsp;
<a data-id="{{server['server_data']['server_id']}}" class="clone_button"> <i class="fas fa-clone" data-toggle="tooltip" title={{ translate('dashboard', 'clone') }}></i></a>&nbsp;

View File

@ -54,6 +54,12 @@
<button onclick="" id="restart-btn" style="max-width: 7rem;" class="btn btn-outline-primary m-1 flex-grow-1 disabled">{% raw translate('serverTerm', 'restart') %}</button>
<button onclick="" id="stop-btn" style="max-width: 7rem;" class="btn btn-danger m-1 flex-grow-1 disabled">{{ translate('serverTerm', 'stop') }}</button>
</div>
{% elif data['waiting_start'] %}
<div id="control_buttons" class="mt-4 flex-wrap d-flex justify-content-between justify-content-md-center align-items-center px-5 px-md-0" style="visibility: visible">
<button onclick="" id="start-btn" style="max-width: 7rem; white-space: nowrap;" class="btn btn-secondary m-1 flex-grow-1 disabled" data-toggle="tooltip" title="{{ translate('serverTerm', 'delay-explained')}}">{{ translate('serverTerm', 'starting') }}</button>
<button onclick="" id="restart-btn" style="max-width: 7rem;" class="btn btn-outline-primary m-1 flex-grow-1 disabled">{% raw translate('serverTerm', 'restart') %}</button>
<button onclick="" id="stop-btn" style="max-width: 7rem;" class="btn btn-danger m-1 flex-grow-1 disabled">{{ translate('serverTerm', 'stop') }}</button>
</div>
{% else %}
<div id="control_buttons" class="mt-4 flex-wrap d-flex justify-content-between justify-content-md-center align-items-center px-5 px-md-0" style="visibility: visible">
<button onclick="send_command(server_id, 'start_server');" id="start-btn" style="max-width: 7rem;" class="btn btn-primary m-1 flex-grow-1">{{ translate('serverTerm', 'start') }}</button>

View File

@ -99,7 +99,8 @@
"kill": "Kill Process",
"restart": "Restart",
"killing": "Killing process...",
"starting": "Delayed Start"
"starting": "Delayed-Start",
"delay-explained": "The service/agent has recently started and is delaying the start of the minecraft server instance"
},
"accessDenied": {
"accessDenied": "Access Denied",
@ -140,7 +141,8 @@
"restart": "Restart",
"stop": "Stop",
"updating": "Updating...",
"starting": "Delayed Start"
"starting": "Delayed-Start",
"delay-explained": "The service/agent has recently started and is delaying the start of the minecraft server instance"
},
"serverPlayerManagement": {
"players": "Players",

View File

@ -99,7 +99,8 @@
"kill": "Tapa prosessi",
"restart": "Uudelleenkäynnistää",
"killing": "Tappamisprosessi ...",
"starting": "Delayed Start"
"starting": "Myöhästynyt lähtö",
"delay-explained": "Palvelu/agentti on äskettäin aloittanut ja viivästyttää minecraft -palvelimen ilmentymän alkua"
},
"accessDenied": {
"accessDenied": "Käyttö estetty",
@ -140,7 +141,8 @@
"restart": "Uudelleen&shy;käynnistä",
"stop": "Sammuta",
"updating": "Updating",
"starting": "Delayed Start"
"starting": "Myöhästynyt lähtö",
"delay-explained": "Palvelu/agentti on äskettäin aloittanut ja viivästyttää minecraft -palvelimen ilmentymän alkua"
},
"serverPlayerManagement": {
"players": "Pelaajat",

View File

@ -99,7 +99,8 @@
"kill": "Tuer le processus",
"restart": "Redémarrage",
"killing": "Processus de mise à mort...",
"starting": "Delayed Start"
"starting": "Démarrage retardé",
"delay-explained": "Le service/agent a récemment démarré et retarde le démarrage de l'instance du serveur minecraft"
},
"accessDenied": {
"accessDenied": "Accès Interdit",
@ -140,7 +141,8 @@
"restart": "Redémarrer",
"stop": "Arrêter",
"updating": "Mise à Jour ...",
"starting": "Delayed Start"
"starting": "Démarrage retardé",
"delay-explained": "Le service/agent a récemment démarré et retarde le démarrage de l'instance du serveur minecraft"
},
"serverPlayerManagement": {
"players": "Joueurs",