mirror of
https://github.com/imayushsaini/Bombsquad-Ballistica-Modded-Server.git
synced 2025-10-20 00:00:39 +00:00
commit
2a07c0c840
6 changed files with 175 additions and 142 deletions
|
|
@ -551,7 +551,7 @@ class ServerManagerApp:
|
|||
|
||||
print(f'{Clr.RED}Error loading config file:\n{exc}.{Clr.RST}',
|
||||
flush=True)
|
||||
with open(self._ba_root_path + "/mods/defaults/config.yaml", "r") as infile:
|
||||
with open(self._ba_root_path + "/mods/defaults/config.toml", "r") as infile:
|
||||
default_file = infile.read()
|
||||
with open(self._config_path, "w") as outfile:
|
||||
outfile.write(default_file)
|
||||
|
|
|
|||
168
dist/ba_root/mods/defaults/config.toml
vendored
Normal file
168
dist/ba_root/mods/defaults/config.toml
vendored
Normal file
|
|
@ -0,0 +1,168 @@
|
|||
# To configure your server, create a config.toml file in the same directory
|
||||
# as the ballisticakit_server script. The config_template.toml file can be
|
||||
# copied or renamed as a convenient starting point.
|
||||
|
||||
# Uncomment any of these values to override defaults.
|
||||
|
||||
# Name of our server in the public parties list.
|
||||
party_name = "BombSquad Community Server"
|
||||
|
||||
# If true, your party will show up in the global public party list
|
||||
# Otherwise it will still be joinable via LAN or connecting by IP
|
||||
# address.
|
||||
#party_is_public = true
|
||||
|
||||
# If true, all connecting clients will be authenticated through the
|
||||
# master server to screen for fake account info. Generally this
|
||||
# should always be enabled unless you are hosting on a LAN with no
|
||||
# internet connection.
|
||||
#authenticate_clients = true
|
||||
|
||||
# IDs of server admins. Server admins are not kickable through the default
|
||||
# kick vote system and they are able to kick players without a vote. To get
|
||||
# your account id, enter 'getaccountid' in settings->advanced->enter-code.
|
||||
admins = ["pb-yOuRAccOuNtIdHErE", "pb-aNdMayBeAnotherHeRE"]
|
||||
|
||||
# Whether the default kick-voting system is enabled.
|
||||
#enable_default_kick_voting = true
|
||||
|
||||
# To be included in the public server list, your server MUST be
|
||||
# accessible via an ipv4 address. By default, the master server will
|
||||
# try to use the address your server contacts it from, but this may
|
||||
# be an ipv6 address these days so you may need to provide an ipv4
|
||||
# address explicitly.
|
||||
#public_ipv4_address = "123.123.123.123"
|
||||
|
||||
# You can optionally provide an ipv6 address for your server for the
|
||||
# public server list. Unlike ipv4, a server is not required to have
|
||||
# an ipv6 address to appear in the list, but is still good to
|
||||
# provide when available since more and more devices are using ipv6
|
||||
# these days. Your server's ipv6 address will be autodetected if
|
||||
# your server uses ipv6 when communicating with the master server. You
|
||||
# can pass an empty string here to explicitly disable the ipv6
|
||||
# address.
|
||||
#public_ipv6_address = "123A::A123:23A1:A312:12A3:A213:2A13"
|
||||
|
||||
# UDP port to host on. Change this to work around firewalls or run
|
||||
# multiple servers on one machine.
|
||||
#
|
||||
# 43210 is the default and the only port that will show up in the
|
||||
# LAN browser tab.
|
||||
#port = 43210
|
||||
|
||||
# Max devices in the party. Note that this does *NOT* mean max
|
||||
# players. Any device in the party can have more than one player on
|
||||
# it if they have multiple controllers. Also, this number currently
|
||||
# includes the server so generally make it 1 bigger than you need.
|
||||
#max_party_size = 6
|
||||
|
||||
# Max players that can join a session. If present this will override
|
||||
# the session's preferred max_players. if a value below 0 is given
|
||||
# player limit will be removed.
|
||||
#session_max_players_override = 8
|
||||
|
||||
# Options here are 'ffa' (free-for-all), 'teams' and 'coop'
|
||||
# (cooperative) This value is ignored if you supply a playlist_code
|
||||
# (see below).
|
||||
#session_type = "ffa"
|
||||
|
||||
# Playlist-code for teams or free-for-all mode sessions.
|
||||
# To host your own custom playlists, use the 'share' functionality in the
|
||||
# playlist editor in the regular version of the game.
|
||||
# This will give you a numeric code you can enter here to host that
|
||||
# playlist.
|
||||
playlist_code = 12345
|
||||
|
||||
# Alternately, you can embed playlist data here instead of using
|
||||
# codes. Make sure to set session_type to the correct type for the
|
||||
# data here.
|
||||
#playlist_inline = []
|
||||
|
||||
# Whether to shuffle the playlist or play its games in designated
|
||||
# order.
|
||||
#playlist_shuffle = true
|
||||
|
||||
# If true, keeps team sizes equal by disallowing joining the largest
|
||||
# team (teams mode only).
|
||||
#auto_balance_teams = true
|
||||
|
||||
# The campaign used when in co-op session mode. Do
|
||||
# print(ba.app.campaigns) to see available campaign names.
|
||||
#coop_campaign = "Easy"
|
||||
|
||||
# The level name within the campaign used in co-op session mode. For
|
||||
# campaign name FOO, do print(ba.app.campaigns['FOO'].levels) to see
|
||||
# available level names.
|
||||
#coop_level = "Onslaught Training"
|
||||
|
||||
# Whether to enable telnet access.
|
||||
#
|
||||
# IMPORTANT: This option is no longer available, as it was being
|
||||
# used for exploits. Live access to the running server is still
|
||||
# possible through the mgr.cmd() function in the server script. Run
|
||||
# your server through tools such as 'screen' or 'tmux' and you can
|
||||
# reconnect to it remotely over a secure ssh connection.
|
||||
#enable_telnet = false
|
||||
|
||||
# Series length in teams mode (7 == 'best-of-7' series; a team must
|
||||
# get 4 wins)
|
||||
teams_series_length = 7
|
||||
|
||||
# Points to win in free-for-all mode (Points are awarded per game based on
|
||||
# performance)
|
||||
ffa_series_length = 24
|
||||
|
||||
# If you have a custom stats webpage for your server, you can use
|
||||
# this to provide a convenient in-game link to it in the
|
||||
# server-browser alongside the server name.
|
||||
#
|
||||
# if ${ACCOUNT} is present in the string, it will be replaced by the
|
||||
# currently-signed-in account's id. To fetch info about an account,
|
||||
# your back-end server can use the following url:
|
||||
# https://legacy.ballistica.net/accountquery?id=ACCOUNT_ID_HERE
|
||||
stats_url = "https://discord.gg/ucyaesh"
|
||||
|
||||
# If present, the server subprocess will attempt to gracefully exit
|
||||
# after this amount of time. A graceful exit can occur at the end of
|
||||
# a series or other opportune time. Server-managers set to
|
||||
# auto-restart (the default) will then spin up a fresh subprocess.
|
||||
# This mechanism can be useful to clear out any memory leaks or
|
||||
# other accumulated bad state in the server subprocess.
|
||||
#clean_exit_minutes = 60
|
||||
|
||||
# If present, the server subprocess will shut down immediately after
|
||||
# this amount of time. This can be useful as a fallback for
|
||||
# clean_exit_time. The server manager will then spin up a fresh
|
||||
# server subprocess if auto-restart is enabled (the default).
|
||||
#unclean_exit_minutes = 90
|
||||
|
||||
# If present, the server subprocess will shut down immediately if
|
||||
# this amount of time passes with no activity from any players. The
|
||||
# server manager will then spin up a fresh server subprocess if
|
||||
# auto-restart is enabled (the default).
|
||||
#idle_exit_minutes = 20
|
||||
|
||||
# Should the tutorial be shown at the beginning of games?
|
||||
#show_tutorial = false
|
||||
|
||||
# Team names (teams mode only).
|
||||
team_names = ["ladoo", "barfi"]
|
||||
|
||||
# Team colors (teams mode only).
|
||||
team_colors = [[0.8, 0.0, 0.6], [0, 1, 0.8]]
|
||||
|
||||
# Whether to enable the queue where players can line up before
|
||||
# entering your server. Disabling this can be used as a workaround
|
||||
# to deal with queue spamming attacks.
|
||||
#enable_queue = true
|
||||
|
||||
# Protocol version we host with. Currently the default is 33 which
|
||||
# still allows older 1.4 game clients to connect. Explicitly setting
|
||||
# to 35 no longer allows those clients but adds/fixes a few things
|
||||
# such as making camera shake properly work in net games.
|
||||
#protocol_version = 35
|
||||
|
||||
# How many seconds individual players from a given account must wait
|
||||
# before rejoining the game. This can help suppress exploits
|
||||
# involving leaving and rejoining or switching teams rapidly.
|
||||
#player_rejoin_cooldown = 10.0
|
||||
134
dist/ba_root/mods/defaults/config.yaml
vendored
134
dist/ba_root/mods/defaults/config.yaml
vendored
|
|
@ -1,134 +0,0 @@
|
|||
# To configure your server, create a config.yaml file in the same directory
|
||||
# as the ballisticacore_server script. The config_template.yaml file can be
|
||||
# copied or renamed as a convenient starting point.
|
||||
|
||||
# Uncomment any of these values to override defaults.
|
||||
|
||||
# Name of our server in the public parties list.
|
||||
party_name: "BombSquad Community Server"
|
||||
|
||||
# If true, your party will show up in the global public party list
|
||||
# Otherwise it will still be joinable via LAN or connecting by IP address.
|
||||
#party_is_public: true
|
||||
|
||||
# If true, all connecting clients will be authenticated through the master
|
||||
# server to screen for fake account info. Generally this should always
|
||||
# be enabled unless you are hosting on a LAN with no internet connection.
|
||||
authenticate_clients: true
|
||||
|
||||
# IDs of server admins. Server admins are not kickable through the default
|
||||
# kick vote system and they are able to kick players without a vote. To get
|
||||
# your account id, enter 'getaccountid' in settings->advanced->enter-code.
|
||||
admins:
|
||||
- pb-yOuRAccOuNtIdHErE
|
||||
- pb-aNdMayBeAnotherHeRE
|
||||
|
||||
# Whether the default kick-voting system is enabled.
|
||||
enable_default_kick_voting: true
|
||||
|
||||
# UDP port to host on. Change this to work around firewalls or run multiple
|
||||
# servers on one machine.
|
||||
# 43210 is the default and the only port that will show up in the LAN
|
||||
# browser tab.
|
||||
port: 43210
|
||||
|
||||
# Max devices in the party. Note that this does *NOT* mean max players.
|
||||
# Any device in the party can have more than one player on it if they have
|
||||
# multiple controllers. Also, this number currently includes the server so
|
||||
# generally make it 1 bigger than you need. Max-players is not currently
|
||||
# exposed but I'll try to add that soon.
|
||||
max_party_size: 6
|
||||
|
||||
# Options here are 'ffa' (free-for-all), 'teams' and 'coop' (cooperative)
|
||||
# This value is ignored if you supply a playlist_code (see below).
|
||||
#session_type: ffa
|
||||
|
||||
# Playlist-code for teams or free-for-all mode sessions.
|
||||
# To host your own custom playlists, use the 'share' functionality in the
|
||||
# playlist editor in the regular version of the game.
|
||||
# This will give you a numeric code you can enter here to host that
|
||||
# playlist.
|
||||
playlist_code: 12345
|
||||
|
||||
# Alternately, you can embed playlist data here instead of using codes.
|
||||
# Make sure to set session_type to the correct type for the data here.
|
||||
#playlist_inline: []
|
||||
|
||||
# Whether to shuffle the playlist or play its games in designated order.
|
||||
#playlist_shuffle: true
|
||||
|
||||
# If true, keeps team sizes equal by disallowing joining the largest team
|
||||
# (teams mode only).
|
||||
#auto_balance_teams: true
|
||||
|
||||
# The campaign used when in co-op session mode.
|
||||
# Do print(ba.app.campaigns) to see available campaign names.
|
||||
#coop_campaign: Easy
|
||||
|
||||
# The level name within the campaign used in co-op session mode.
|
||||
# For campaign name FOO, do print(ba.app.campaigns['FOO'].levels) to see
|
||||
# available level names.
|
||||
#coop_level: Onslaught Training
|
||||
|
||||
# Whether to enable telnet access.
|
||||
# IMPORTANT: This option is no longer available, as it was being used
|
||||
# for exploits. Live access to the running server is still possible through
|
||||
# the mgr.cmd() function in the server script. Run your server through
|
||||
# tools such as 'screen' or 'tmux' and you can reconnect to it remotely
|
||||
# over a secure ssh connection.
|
||||
#enable_telnet: false
|
||||
|
||||
# Series length in teams mode (7 == 'best-of-7' series; a team must
|
||||
# get 4 wins)
|
||||
teams_series_length: 7
|
||||
|
||||
# Points to win in free-for-all mode (Points are awarded per game based on
|
||||
# performance)
|
||||
ffa_series_length: 24
|
||||
|
||||
# If you have a custom stats webpage for your server, you can use this
|
||||
# to provide a convenient in-game link to it in the server-browser
|
||||
# alongside the server name.
|
||||
# if ${ACCOUNT} is present in the string, it will be replaced by the
|
||||
# currently-signed-in account's id. To fetch info about an account,
|
||||
# your back-end server can use the following url:
|
||||
# http://bombsquadgame.com/accountquery?id=ACCOUNT_ID_HERE
|
||||
stats_url: https://discord.gg/ucyaesh
|
||||
|
||||
# If present, the server subprocess will attempt to gracefully exit after
|
||||
# this amount of time. A graceful exit can occur at the end of a series
|
||||
# or other opportune time. Server-managers set to auto-restart (the
|
||||
# default) will then spin up a fresh subprocess. This mechanism can be
|
||||
# useful to clear out any memory leaks or other accumulated bad state
|
||||
# in the server subprocess.
|
||||
#clean_exit_minutes: 60
|
||||
|
||||
# If present, the server subprocess will shut down immediately after this
|
||||
# amount of time. This can be useful as a fallback for clean_exit_time.
|
||||
# The server manager will then spin up a fresh server subprocess if
|
||||
# auto-restart is enabled (the default).
|
||||
#unclean_exit_minutes: 90
|
||||
|
||||
# If present, the server subprocess will shut down immediately if this
|
||||
# amount of time passes with no activity from any players. The server
|
||||
# manager will then spin up a fresh server subprocess if auto-restart is
|
||||
# enabled (the default).
|
||||
#idle_exit_minutes: 20
|
||||
|
||||
# Should the tutorial be shown at the beginning of games?
|
||||
#show_tutorial: false
|
||||
|
||||
# Team names (teams mode only).
|
||||
team_names:
|
||||
- ladoo
|
||||
- barfi
|
||||
|
||||
# Team colors (teams mode only).
|
||||
team_colors:
|
||||
- [0.8, 0.0, 0.6]
|
||||
- [0, 1, 0.8]
|
||||
|
||||
# Whether to enable the queue where players can line up before entering
|
||||
# your server. Disabling this can be used as a workaround to deal with
|
||||
# queue spamming attacks.
|
||||
#enable_queue: true
|
||||
10
dist/ba_root/mods/playersdata/pdata.py
vendored
10
dist/ba_root/mods/playersdata/pdata.py
vendored
|
|
@ -78,19 +78,19 @@ def get_profiles() -> dict:
|
|||
newpath = f'{PLAYERS_DATA_PATH}profiles-{str(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))}.json'
|
||||
shutil.copyfile(PLAYERS_DATA_PATH + "profiles.json", newpath)
|
||||
profiles = {"pb-sdf": {}}
|
||||
print("resetting profiles")
|
||||
print("Resetting Profiles.")
|
||||
else:
|
||||
f = open(PLAYERS_DATA_PATH + "profiles.json", "r")
|
||||
profiles = json.load(f)
|
||||
f.close()
|
||||
print("loading old proiles.json")
|
||||
print("Loading old profiles.json")
|
||||
CacheData.profiles = profiles
|
||||
|
||||
except Exception as e:
|
||||
f = open(PLAYERS_DATA_PATH + "profiles.json.backup", "r")
|
||||
profiles = json.load(f)
|
||||
print(e)
|
||||
print("exception happened , falling back to profiles.json.backup")
|
||||
print("Exception occurred, falling back to profiles.json.backup")
|
||||
CacheData.profiles = profiles
|
||||
f.close()
|
||||
return profiles
|
||||
|
|
@ -118,7 +118,7 @@ def get_blacklist() -> dict:
|
|||
with open(PLAYERS_DATA_PATH + "blacklist.json", "r") as f:
|
||||
CacheData.blacklist = json.load(f)
|
||||
except:
|
||||
print('error opening blacklist json')
|
||||
print('Error opening blacklist.json')
|
||||
return {
|
||||
"ban": {
|
||||
"ids": {},
|
||||
|
|
@ -461,7 +461,7 @@ def add_player_role(role: str, account_id: str) -> None:
|
|||
commit_roles(roles)
|
||||
|
||||
else:
|
||||
print("no role such")
|
||||
print(f'Role named {role} does not exist.')
|
||||
|
||||
|
||||
def remove_player_role(role: str, account_id: str) -> str:
|
||||
|
|
|
|||
|
|
@ -346,7 +346,6 @@ def _update_text(self) -> None:
|
|||
self._text_node.text = text
|
||||
|
||||
|
||||
# ba_meta export plugin
|
||||
def enable():
|
||||
_lobby.Chooser.__init__ = __init__
|
||||
_lobby.Chooser._set_ready = _set_ready
|
||||
|
|
|
|||
2
dist/ba_root/mods/port.py
vendored
2
dist/ba_root/mods/port.py
vendored
|
|
@ -33,7 +33,7 @@ def port(file_path):
|
|||
# stay local or if it'll also be needed to transmitted to the clients.
|
||||
|
||||
## For local:
|
||||
if False:
|
||||
if bool(False):
|
||||
content = content.replace("_babase.screenmessage", "bui.screenmessage")
|
||||
content = content.replace("babase.screenmessage", "bui.screenmessage")
|
||||
content = content.replace("babase.getsound", "bui.getsound")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue