mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2025-01-19 01:35:28 +01:00
Allow omission of player stats from total
This commit is contained in:
parent
1d32afa09d
commit
589a11f43c
@ -42,6 +42,7 @@ class Servers(BaseModel):
|
|||||||
created_by = IntegerField(default=-100)
|
created_by = IntegerField(default=-100)
|
||||||
shutdown_timeout = IntegerField(default=60)
|
shutdown_timeout = IntegerField(default=60)
|
||||||
ignored_exits = CharField(default="0")
|
ignored_exits = CharField(default="0")
|
||||||
|
count_players = BooleanField(default=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
table_name = "servers"
|
table_name = "servers"
|
||||||
|
@ -1560,6 +1560,7 @@ class ServerInstance:
|
|||||||
"version": raw_ping_result.get("version"),
|
"version": raw_ping_result.get("version"),
|
||||||
"icon": raw_ping_result.get("icon"),
|
"icon": raw_ping_result.get("icon"),
|
||||||
"crashed": self.is_crashed,
|
"crashed": self.is_crashed,
|
||||||
|
"count_players": self.server_object.count_players,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ server_patch_schema = {
|
|||||||
"logs_delete_after": {"type": "integer", "minimum": 0},
|
"logs_delete_after": {"type": "integer", "minimum": 0},
|
||||||
"ignored_exits": {"type": "string"},
|
"ignored_exits": {"type": "string"},
|
||||||
"show_status": {"type": "boolean"},
|
"show_status": {"type": "boolean"},
|
||||||
|
"count_players": {"type": "boolean"},
|
||||||
},
|
},
|
||||||
"additionalProperties": False,
|
"additionalProperties": False,
|
||||||
"minProperties": 1,
|
"minProperties": 1,
|
||||||
@ -46,6 +47,7 @@ basic_server_patch_schema = {
|
|||||||
"shutdown_timeout": {"type": "integer"},
|
"shutdown_timeout": {"type": "integer"},
|
||||||
"logs_delete_after": {"type": "integer", "minimum": 0},
|
"logs_delete_after": {"type": "integer", "minimum": 0},
|
||||||
"ignored_exits": {"type": "string"},
|
"ignored_exits": {"type": "string"},
|
||||||
|
"count_players": {"type": "boolean"},
|
||||||
},
|
},
|
||||||
"additionalProperties": False,
|
"additionalProperties": False,
|
||||||
"minProperties": 1,
|
"minProperties": 1,
|
||||||
|
@ -315,7 +315,7 @@
|
|||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
</td>
|
</td>
|
||||||
<span class="server-player-totals" id="server_players_{{server['server_data']['server_id']}}" data-players="{{ server['stats']['online']}}" data-max="{{ server['stats']['max'] }}"></span>
|
<span class="server-player-totals" id="server_players_{{server['server_data']['server_id']}}" data-serverId="{{server['server_data']['server_id']}}" data-players="{{ server['stats']['online']}}" data-max="{{ server['stats']['max'] }}" data-count="{{server['server_data']['count_players']}}"></span>
|
||||||
</tr>
|
</tr>
|
||||||
{% end %}
|
{% end %}
|
||||||
</div>
|
</div>
|
||||||
@ -554,6 +554,9 @@
|
|||||||
display: none;
|
display: none;
|
||||||
/* for Chrome, Safari, and Opera */
|
/* for Chrome, Safari, and Opera */
|
||||||
}
|
}
|
||||||
|
.gray {
|
||||||
|
color: gray !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
@ -724,14 +727,19 @@
|
|||||||
|
|
||||||
server_players.setAttribute('data-players', server.online);
|
server_players.setAttribute('data-players', server.online);
|
||||||
server_players.setAttribute('data-max', server.max);
|
server_players.setAttribute('data-max', server.max);
|
||||||
|
server_players.setAttribute('data-count', server.count_players)
|
||||||
let servers = Array.from(document.getElementsByClassName("server-player-totals"));
|
let servers = Array.from(document.getElementsByClassName("server-player-totals"));
|
||||||
let all_total_players = 0;
|
let all_total_players = 0;
|
||||||
let all_total_max_players = 0;
|
let all_total_max_players = 0;
|
||||||
|
|
||||||
servers.forEach(server => {
|
servers.forEach(server => {
|
||||||
try {
|
try {
|
||||||
|
console.log(`#server_desc_${server.getAttribute("data-serverId")}`)
|
||||||
|
$(`#server_desc_${server.getAttribute("data-serverId")}`).toggleClass("gray", server.getAttribute('data-count') === 'false')
|
||||||
|
if (server.getAttribute('data-count') === 'true'){
|
||||||
all_total_players += parseInt(server.getAttribute('data-players'));
|
all_total_players += parseInt(server.getAttribute('data-players'));
|
||||||
all_total_max_players += parseInt(server.getAttribute('data-max'));
|
all_total_max_players += parseInt(server.getAttribute('data-max'));
|
||||||
|
}
|
||||||
} catch {
|
} catch {
|
||||||
console.log("Player totals are not of type int");
|
console.log("Player totals are not of type int");
|
||||||
}
|
}
|
||||||
|
@ -188,6 +188,17 @@
|
|||||||
{% end %}
|
{% end %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="custom-control custom-switch">
|
||||||
|
{% if data['server_stats']['server_id']['count_players'] %}
|
||||||
|
<input type="checkbox" class="custom-control-input" id="count_players" name="count_players" checked="" value="1">
|
||||||
|
<label class="custom-control-label" for="count_players"> {{ translate('serverConfig', 'countPlayers', data['lang']) }}</label>
|
||||||
|
{% else %}
|
||||||
|
<input type="checkbox" class="custom-control-input" id="count_players" name="count_players" value="1">
|
||||||
|
<label class="custom-control-label" for="count_players"> {{ translate('serverConfig', 'countPlayers', data['lang']) }}</label>
|
||||||
|
{% end %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="custom-control custom-switch">
|
<div class="custom-control custom-switch">
|
||||||
{% if data['super_user'] %}
|
{% if data['super_user'] %}
|
||||||
@ -559,6 +570,7 @@
|
|||||||
formDataObject.show_status = $("#show_status").prop('checked');
|
formDataObject.show_status = $("#show_status").prop('checked');
|
||||||
formDataObject.crash_detection = $("#crash_detection").prop('checked');
|
formDataObject.crash_detection = $("#crash_detection").prop('checked');
|
||||||
formDataObject.auto_start = $("#auto_start").prop('checked');
|
formDataObject.auto_start = $("#auto_start").prop('checked');
|
||||||
|
formDataObject.count_players = $("#count_players").prop('checked');
|
||||||
console.log(formDataObject);
|
console.log(formDataObject);
|
||||||
// Format the plain form data as JSON
|
// Format the plain form data as JSON
|
||||||
let formDataJsonString = JSON.stringify(formDataObject, replacer);
|
let formDataJsonString = JSON.stringify(formDataObject, replacer);
|
||||||
|
16
app/migrations/20231229_player_count.py
Normal file
16
app/migrations/20231229_player_count.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Generated by database migrator
|
||||||
|
import peewee
|
||||||
|
|
||||||
|
|
||||||
|
def migrate(migrator, database, **kwargs):
|
||||||
|
migrator.add_columns("servers", count_players=peewee.BooleanField(default=True))
|
||||||
|
"""
|
||||||
|
Write your migrations here.
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
def rollback(migrator, database, **kwargs):
|
||||||
|
migrator.drop_columns("servers", ["count_players"])
|
||||||
|
"""
|
||||||
|
Write your rollback migrations here.
|
||||||
|
"""
|
@ -377,7 +377,8 @@
|
|||||||
"timeoutExplain2": "command before it forces the process down.",
|
"timeoutExplain2": "command before it forces the process down.",
|
||||||
"update": "Update Executable",
|
"update": "Update Executable",
|
||||||
"yesDelete": "Yes, delete",
|
"yesDelete": "Yes, delete",
|
||||||
"yesDeleteFiles": "Yes, delete files"
|
"yesDeleteFiles": "Yes, delete files",
|
||||||
|
"countPlayers": "Include server in total player count"
|
||||||
},
|
},
|
||||||
"serverConfigHelp": {
|
"serverConfigHelp": {
|
||||||
"desc": "Here is where you can change the configuration of your server",
|
"desc": "Here is where you can change the configuration of your server",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user