diff --git a/.efrocachemap b/.efrocachemap index 0249c2fc3..bae0f7c7f 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -4099,50 +4099,50 @@ "build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1", "build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae", "build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599", - "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "7cadc07c2e5165362692d3383646237a", - "build/prefab/full/linux_arm64_gui/release/ballisticakit": "f349db0463adbf2fe3b11fa3000c1792", - "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "01aacff8e2dc1f65af828e17422134b5", - "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "bf2c2faeaa2e28c07a8459d624786d22", - "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "60dab3e475bbba7e936ce7c2b52559e1", - "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "548f01033d5a93bb49036302ace281e2", - "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "1571cdae20fa989bc07239150f83d869", - "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "95780363ec0aea90f5d67f6ba756cf00", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "93e70445cf1456edabe1869499f8f226", - "build/prefab/full/mac_arm64_gui/release/ballisticakit": "388f3e04bdb917102a9b6f0e231b78c8", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "0390bc7f493ade35164142dc8649b3f6", - "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "445c881f3bf3f15ee18b9f2851d539a1", - "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "24448c4f51332f9b26bbb45122558378", - "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "17d7bd762d07d42fca435a8af6313489", - "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "2e3c4e3d0f2cc6b2f9380c1e85d1a9bc", - "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "4996a4ab92124ee8217f044c7294b5f7", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "664c2f20b66222a73caf467c03ab64d3", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "0e8e3deae9c657022c4ccb419744420e", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "dc511e79e8c4713aeadda840ec3e6eee", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "c982c13f6664640c3d1c768112064116", - "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "4e0f966529a69bf8da66cb2ee1c39aeb", - "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "5d5c02fb0a49991b0d1d987666e47702", - "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "4e0f966529a69bf8da66cb2ee1c39aeb", - "build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "5d5c02fb0a49991b0d1d987666e47702", - "build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "6dd00a2f521e1bb12f1c7d92ce6b28e6", - "build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "c6fdeeca50279426b474b9cd1a3afd2b", - "build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "6dd00a2f521e1bb12f1c7d92ce6b28e6", - "build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "c6fdeeca50279426b474b9cd1a3afd2b", - "build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "296b14a0b2bccf309e314ec1f2175318", - "build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "7296cb71fc42baece5e1bc23121104be", - "build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "296b14a0b2bccf309e314ec1f2175318", - "build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "7296cb71fc42baece5e1bc23121104be", - "build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "19dfba8beca806f8155f952bbfab583d", - "build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "076f47790cb474f2aaf18417c0c8f803", - "build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "cfc62fad488ae4033175f3b1ad022e6f", - "build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "076f47790cb474f2aaf18417c0c8f803", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "1b5a88065df858440c5c80f274c0f735", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "35329f3c346807358b04100826d9d8aa", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "68a26ca4930f3559121dc7c8495d0b73", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "d4e13a16abf9ace1c358b5f1889e2087", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "f3f9a07fd501e22a9646cd4815278c29", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "a214f5e09f1c7b4d0674998ba0f8f3e9", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "a46e145296dfa7691dd415ba9309398d", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "3d77b8e9feb58884fdefe0f5047d6480", + "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "6b1e3dabaa4a8011fb76eb60bc9fc810", + "build/prefab/full/linux_arm64_gui/release/ballisticakit": "6b3ba151b5b966d8cf7f88fdf2de1cab", + "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "5011f48cf6abadc76782148e369cab27", + "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "e3f442058767c9228e22a378389adc13", + "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "da48f2a7825debe8d598614728adfde0", + "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "5a3519abac74ed1906d0200273218094", + "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "2acf6fb5f59604efba5259bb02e0251a", + "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "a80d39647b05e1dee5103d07c11e2aa6", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "dc1c2b5023400d79b3ce02a0ef80716f", + "build/prefab/full/mac_arm64_gui/release/ballisticakit": "952e688bd0ac2e3387ec7c7f8c9e51ec", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "bb61f36a89d1e9a67cc427b2cecbdec2", + "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "78b915a3b98cb413fb5b96d723dae285", + "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "130282ce0655c9939044d2a08ede2810", + "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "89f585bf97e7a96c4b9954ad3845e8a0", + "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "611431e889833f48c340225ada4adbeb", + "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "04a9b6676b152628698ed96083b6086c", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "53472ec7dea3e8f9fcd14efe50157145", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "76ff6d73f3d6ff0b210e7ff6bcd1313e", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "518091e3a6def818ae2b7dc7870a9d9d", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "9ac3edb0720424e7171f21e33130d174", + "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "ffa1f56e340a4c8ff4d801eca23da2e2", + "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "6dfd5c8a2af1118f3d756a279f95cda1", + "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "ffa1f56e340a4c8ff4d801eca23da2e2", + "build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "6dfd5c8a2af1118f3d756a279f95cda1", + "build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "bb35138babeb07c358adc834f4ed8c2e", + "build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "973f0df433d467431d0aaf4fc7534446", + "build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "bb35138babeb07c358adc834f4ed8c2e", + "build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "973f0df433d467431d0aaf4fc7534446", + "build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "09d1ebc7496cae1ecc011dc771e2f452", + "build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "c18995f1322e4ec94cbeff05559521a7", + "build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "09d1ebc7496cae1ecc011dc771e2f452", + "build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "c18995f1322e4ec94cbeff05559521a7", + "build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "2152d332baa5a62c93f9e4e5bf9385bf", + "build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "d371f717382406b209143c33b843aaa4", + "build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "6fbb391cb33b40f51a3d5d9f275cc9b8", + "build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "d371f717382406b209143c33b843aaa4", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "49b143055d3e3bb4abf0e7b72f8251cd", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "025c627d8834a3f24ee06cc4e62d5896", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "35d29b9124ac1ca56c900823316bbbd2", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "b39458a7f1300e7cd2a6a174dc8b0350", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "f4198a4df77544624b7e2180811321b6", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "7669769a1753b6aef3e8d7a573622b11", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "31ae4ace3f45941bb29b92ace4716a95", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "bc44644d4a652cc4881ac734f60bdf80", "src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c", "src/assets/ba_data/python/babase/_mgen/enums.py": "794d258d59fd17a61752843a9a0551ad", "src/ballistica/base/mgen/pyembed/binding_base.inc": "3a583e7e03bd4907b21adc3bf5729d15", diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f28691b1..1d07c3045 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 1.7.37 (build 22077, api 9, 2024-11-07) +### 1.7.37 (build 22080, api 9, 2024-11-07) - Bumping api version to 9. As you'll see below, there's some UI changes that will require a bit of work for any UI mods to adapt to. If your mods don't touch UI stuff at all you can simply bump your api version and call it a day. diff --git a/src/assets/ba_data/python/baenv.py b/src/assets/ba_data/python/baenv.py index 923c7d4eb..99acd24ea 100644 --- a/src/assets/ba_data/python/baenv.py +++ b/src/assets/ba_data/python/baenv.py @@ -53,7 +53,7 @@ # Build number and version of the ballistica binary we expect to be # using. -TARGET_BALLISTICA_BUILD = 22077 +TARGET_BALLISTICA_BUILD = 22080 TARGET_BALLISTICA_VERSION = '1.7.37' @@ -316,7 +316,7 @@ def _setup_logging(launch_time: float) -> LogHandler: log_handler = setup_logging( log_path=None, - level=LogLevel.DEBUG, + level=LogLevel.INFO, log_stdout_stderr=True, cache_size_limit=1024 * 1024, launch_time=launch_time, @@ -336,6 +336,8 @@ def _set_log_levels(app_config: dict) -> None: get_base_logger_control_config_client().apply() return + print('WTF', config) + # Make sure data is expected types/values. valid_levels = { logging.NOTSET, diff --git a/src/assets/server_package/ballisticakit_server.py b/src/assets/server_package/ballisticakit_server.py index b95924bbc..cf5297c46 100755 --- a/src/assets/server_package/ballisticakit_server.py +++ b/src/assets/server_package/ballisticakit_server.py @@ -11,6 +11,7 @@ import json import signal import tomllib +import logging import subprocess from pathlib import Path from threading import Lock, Thread, current_thread @@ -801,23 +802,46 @@ def _prep_subprocess_environment(self) -> None: # Some of our config values translate directly into the # ballisticakit config file; the rest we pass at runtime. + + # IMPORTANT: Make sure we *ALWAYS* push values (or lack thereof) + # through; otherwise stale values from previous runs can linger + # in the bincfg. + bincfg['Port'] = self._config.port bincfg['Auto Balance Teams'] = self._config.auto_balance_teams bincfg['Show Tutorial'] = self._config.show_tutorial + binkey = 'SceneV1 Host Protocol' if self._config.protocol_version is not None: - bincfg['SceneV1 Host Protocol'] = self._config.protocol_version + bincfg[binkey] = self._config.protocol_version + elif binkey in bincfg: + del bincfg[binkey] + + binkey = 'Custom Team Names' if self._config.team_names is not None: - bincfg['Custom Team Names'] = self._config.team_names - elif 'Custom Team Names' in bincfg: - del bincfg['Custom Team Names'] + bincfg[binkey] = self._config.team_names + elif binkey in bincfg: + del bincfg[binkey] + binkey = 'Custom Team Colors' if self._config.team_colors is not None: - bincfg['Custom Team Colors'] = self._config.team_colors - elif 'Custom Team Colors' in bincfg: - del bincfg['Custom Team Colors'] + bincfg[binkey] = self._config.team_colors + elif binkey in bincfg: + del bincfg[binkey] bincfg['Idle Exit Minutes'] = self._config.idle_exit_minutes + + binkey = 'Log Levels' + if self._config.log_levels is not None: + # Users supply us log level names like NOTSET; convert those + # to numeric vals which the engine expects. + bincfg[binkey] = { + key: logging.getLevelName(val) + for key, val in self._config.log_levels.items() + } + elif binkey in bincfg: + del bincfg[binkey] + with open(cfgpath, 'w', encoding='utf-8') as outfile: outfile.write(json.dumps(bincfg)) diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc index 500aca73f..ce774ef77 100644 --- a/src/ballistica/shared/ballistica.cc +++ b/src/ballistica/shared/ballistica.cc @@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int { namespace ballistica { // These are set automatically via script; don't modify them here. -const int kEngineBuildNumber = 22077; +const int kEngineBuildNumber = 22080; const char* kEngineVersion = "1.7.37"; const int kEngineApiVersion = 9; diff --git a/tools/batools/build.py b/tools/batools/build.py index 7fa8128ee..78ca66e29 100644 --- a/tools/batools/build.py +++ b/tools/batools/build.py @@ -476,7 +476,7 @@ def _get_server_config_template_toml(projroot: str) -> str: cfg.team_colors = ((0.1, 0.25, 1.0), (1.0, 0.25, 0.2)) cfg.public_ipv4_address = '123.123.123.123' cfg.public_ipv6_address = '123A::A123:23A1:A312:12A3:A213:2A13' - cfg.log_levels = {'ba.lifecycle': 'DEBUG', 'ba.assets': 'DEBUG'} + cfg.log_levels = {'ba.lifecycle': 'DEBUG', 'ba.assets': 'INFO'} lines_in = _get_server_config_raw_contents(projroot).splitlines()