mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-02-06 23:59:18 +08:00
server join queue can now be disabled
This commit is contained in:
parent
8e39622bab
commit
0901fa1b21
@ -4004,50 +4004,50 @@
|
|||||||
"assets/src/ba_data/python/ba/_generated/__init__.py": "https://files.ballistica.net/cache/ba1/ee/e8/cad05aa531c7faf7ff7b96db7f6e",
|
"assets/src/ba_data/python/ba/_generated/__init__.py": "https://files.ballistica.net/cache/ba1/ee/e8/cad05aa531c7faf7ff7b96db7f6e",
|
||||||
"assets/src/ba_data/python/ba/_generated/enums.py": "https://files.ballistica.net/cache/ba1/1c/77/ac670a5118abdf8a7687af0e159b",
|
"assets/src/ba_data/python/ba/_generated/enums.py": "https://files.ballistica.net/cache/ba1/1c/77/ac670a5118abdf8a7687af0e159b",
|
||||||
"ballisticacore-windows/Generic/BallisticaCore.ico": "https://files.ballistica.net/cache/ba1/89/c0/e32c7d2a35dc9aef57cc73b0911a",
|
"ballisticacore-windows/Generic/BallisticaCore.ico": "https://files.ballistica.net/cache/ba1/89/c0/e32c7d2a35dc9aef57cc73b0911a",
|
||||||
"build/prefab/full/linux_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/02/50/7fd361fc7503bd6511dafe947737",
|
"build/prefab/full/linux_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/1c/91/7ae1b68a23982fea887522f1c190",
|
||||||
"build/prefab/full/linux_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/cd/f1/fc3ad4cb576876298e3da037baed",
|
"build/prefab/full/linux_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/0a/85/df9814b9bf896f4abea28768e92b",
|
||||||
"build/prefab/full/linux_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/5d/f4/c7c37b0ed8386fc204d5321e0ab9",
|
"build/prefab/full/linux_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/b4/a1/7f03feb7a85d24245f1f6684032e",
|
||||||
"build/prefab/full/linux_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/a7/a8/4768f13ef21d2d3b384e806f06f6",
|
"build/prefab/full/linux_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/9c/6a/8653f666ea158628c486ea54e4e2",
|
||||||
"build/prefab/full/linux_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/63/38/bef42b4c6a1f742f0c9e63a9b16d",
|
"build/prefab/full/linux_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/d6/e2/ca77c216625adc6b4e8af0d388b1",
|
||||||
"build/prefab/full/linux_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/9c/f3/b3b46212ab0b146938a20990d800",
|
"build/prefab/full/linux_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/d4/bb/a88afebc39bf026b31abaf08d9d4",
|
||||||
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/1b/29/79f4ebdcb096ad83aaf752fb3701",
|
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/01/a0/1a3b24b2a41563594b26eb4fb948",
|
||||||
"build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/02/f8/23419184457a183af712403a1352",
|
"build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/74/57/115e41be4d58896035abf97ce344",
|
||||||
"build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/f8/e7/fdb608da459208f4e6fc8372106b",
|
"build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/73/16/fc91ce4346f1f47f6f2ca7851c74",
|
||||||
"build/prefab/full/mac_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/03/9e/8144ef6cd3db9fc5e71ee75371e5",
|
"build/prefab/full/mac_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/29/d5/b4104b2bdcd5313599442f67422b",
|
||||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/9b/a9/57eda2e68544bd0c36fa13cffd2b",
|
"build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ec/73/9d05a319bcc76428d29e3449b9cc",
|
||||||
"build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/d3/1e/f9ef9e2189ca84d24df7322ca220",
|
"build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ea/f7/f86d1d668e67254333b774b2d8c1",
|
||||||
"build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/50/6e/aefb6451ab6f7fa2851297011cba",
|
"build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/f7/75/ee906782bf6cda84349bd2a12ede",
|
||||||
"build/prefab/full/mac_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/a1/c9/6d07587d3b2e8c1862dccfef4e94",
|
"build/prefab/full/mac_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/50/0b/f57762d8bb07d039441f6f4d05c2",
|
||||||
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ab/4e/91d2d27cf15792c17829549580ca",
|
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/a2/17/d025c0947448310b4efbf6553bca",
|
||||||
"build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/a1/f9/12bf33e3b52202e6853adacba2a7",
|
"build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/c0/a7/febd382d01d7a6671f50b45cf7b7",
|
||||||
"build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/e7/44/52c8c2ab2abd417b568ccab82898",
|
"build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/36/6b/6a1baa6b91487ab4f156a720e875",
|
||||||
"build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/18/37/f7817784360e6c7b093c296a60b6",
|
"build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/ff/e7/63d4866736010ebeb01ded394cac",
|
||||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/13/db/2af6ebf94790575c036a051c5b20",
|
"build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/72/6a/d6e87def1a6e663f0eed36a05779",
|
||||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/42/c3/cbeba6007e0a326abd9731bcb9fe",
|
"build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/09/ac/34a441b000c510d46c4fda7036fb",
|
||||||
"build/prefab/lib/linux_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/a2/9d/285cd73953e62fdb7945c09fb83c",
|
"build/prefab/lib/linux_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/1b/47/d6384f65f8b4a3fc1c63c69a1c8c",
|
||||||
"build/prefab/lib/linux_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/22/2d/3df4908dfdcdebe772bf3df0daee",
|
"build/prefab/lib/linux_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/b6/4c/14bc1088021461969748f0555d64",
|
||||||
"build/prefab/lib/linux_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/2a/74/763faee36da963364e94996429d5",
|
"build/prefab/lib/linux_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/ef/08/deb368b8fa5f12eaadc63b1388dc",
|
||||||
"build/prefab/lib/linux_arm64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/87/9f/4408f47d293436f420ff9338dca6",
|
"build/prefab/lib/linux_arm64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/30/78/1069cc823a81fad93339bc791a11",
|
||||||
"build/prefab/lib/linux_x86_64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/4f/e8/2518fd177b5c51f89ef0795b1264",
|
"build/prefab/lib/linux_x86_64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/e3/9f/2fd0cdf791782b9cf887fdee5eee",
|
||||||
"build/prefab/lib/linux_x86_64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/77/b1/41befd66869830590f00bff7ba97",
|
"build/prefab/lib/linux_x86_64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/d2/24/459b6854f0a8fae959b9ff37ed4c",
|
||||||
"build/prefab/lib/linux_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/92/a2/8d6f01537d722803aab60cb67e6d",
|
"build/prefab/lib/linux_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/ce/27/104a5dca1fa570cd41faedf6973e",
|
||||||
"build/prefab/lib/linux_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/fc/be/0e1af48000395cdbe72179dba90a",
|
"build/prefab/lib/linux_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/93/1c/259af37062fb8fe2a50bcaad8c1a",
|
||||||
"build/prefab/lib/mac_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/20/7a/b31ec8c47d67b7fd23ed2510aae7",
|
"build/prefab/lib/mac_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/7b/63/2430e689d0e1980c3f40d113db6e",
|
||||||
"build/prefab/lib/mac_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/a0/b5/b4ffd9769f3b703226e744423a58",
|
"build/prefab/lib/mac_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/34/a7/484b831c51c83c692e8c59dcd11c",
|
||||||
"build/prefab/lib/mac_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/3b/02/9e8f15c68ca328a7549846d53a8f",
|
"build/prefab/lib/mac_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/8b/ce/8136e2adf01ee38b1d419553464f",
|
||||||
"build/prefab/lib/mac_arm64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/a0/74/b61b74ada26b41f421563b535dd0",
|
"build/prefab/lib/mac_arm64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/0d/90/2c695a05575e73c42969917f2d3a",
|
||||||
"build/prefab/lib/mac_x86_64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/ec/5c/08c171db06bd4492a2b414c77488",
|
"build/prefab/lib/mac_x86_64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/d2/fd/ceb1eb357d0b36852d88899356e8",
|
||||||
"build/prefab/lib/mac_x86_64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/2f/8a/0384cc905ba23bd45afdfcacb882",
|
"build/prefab/lib/mac_x86_64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/09/15/a8daaff2ebe63f85987937692152",
|
||||||
"build/prefab/lib/mac_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/63/6f/e6ba3560e0a8e404bb592405de27",
|
"build/prefab/lib/mac_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/23/f9/ab5c5f9b0bb754034881ab82afe5",
|
||||||
"build/prefab/lib/mac_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/6e/14/c4f70a74e2111e3adb096dfbd215",
|
"build/prefab/lib/mac_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/34/16/dbc9386010f6074dc548a081e7cd",
|
||||||
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/7c/1c/09d20642216c867d8a0adfddff95",
|
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/b7/06/ce8858ccf49e1ccdb71e15d25ead",
|
||||||
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/a7/ff/e4d363b28c753ed796fff546b9fb",
|
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/b2/25/2203b80ba9adea38dbb152bc665e",
|
||||||
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/77/e9/f62f482ec7efe2b758b2f541b841",
|
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/4a/29/908997a9aa377f2a13053e591c16",
|
||||||
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/5e/fb/52723ebc5ba87a95ae3342826d2c",
|
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/27/c9/46e170eb44a7cccb92cfd6b382a2",
|
||||||
"build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/11/be/7dcecaa97f8eac0183307c5b0e7d",
|
"build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/6c/29/06e3a7db44446f381ffcf4f79c99",
|
||||||
"build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/50/79/eb8f282ab42ca5fc6c9c088d87a6",
|
"build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/02/9b/66ce0f85f69e71549b2aab5b4fca",
|
||||||
"build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/74/08/8f1403844c6a9562ae076a4451a3",
|
"build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/23/7d/15c3fe7a60284323da4d4f199845",
|
||||||
"build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/96/52/846ce7853177655441ec7085113c",
|
"build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/32/e5/faff7cbc87f94743f2176bd7efef",
|
||||||
"src/ballistica/generated/python_embedded/binding.inc": "https://files.ballistica.net/cache/ba1/25/77/8093dfffddaa80cd513ddaa61867",
|
"src/ballistica/generated/python_embedded/binding.inc": "https://files.ballistica.net/cache/ba1/25/77/8093dfffddaa80cd513ddaa61867",
|
||||||
"src/ballistica/generated/python_embedded/bootstrap.inc": "https://files.ballistica.net/cache/ba1/2d/4f/f4fe67827f36cd59cd5193333a02",
|
"src/ballistica/generated/python_embedded/bootstrap.inc": "https://files.ballistica.net/cache/ba1/2d/4f/f4fe67827f36cd59cd5193333a02",
|
||||||
"src/ballistica/generated/python_embedded/bootstrap_monolithic.inc": "https://files.ballistica.net/cache/ba1/ef/c1/aa5f1aa10af89f5c0b1e616355fd"
|
"src/ballistica/generated/python_embedded/bootstrap_monolithic.inc": "https://files.ballistica.net/cache/ba1/ef/c1/aa5f1aa10af89f5c0b1e616355fd"
|
||||||
|
|||||||
@ -1,9 +1,11 @@
|
|||||||
### 1.7.16 (build 20963, api 7, 2022-12-08)
|
### 1.7.16 (build 20966, api 7, 2022-12-15)
|
||||||
- Fixed a bug where profile names encased in curly brackets could cause harmless error messages.
|
- Fixed a bug where profile names encased in curly brackets could cause harmless error messages.
|
||||||
- Android will no longer log errors on ba.open_url() calls if a browser is not available (it still just falls back to the in-app dialog in that case).
|
- Android will no longer log errors on ba.open_url() calls if a browser is not available (it still just falls back to the in-app dialog in that case).
|
||||||
- The 'Upgrade' button for device accounts now signs you out and closes the upgrade window to hopefully make it more clear that you need to sign in with your newly created/upgraded BombSquad account.
|
- The 'Upgrade' button for device accounts now signs you out and closes the upgrade window to hopefully make it more clear that you need to sign in with your newly created/upgraded BombSquad account.
|
||||||
- Fixed a bug where the remote app could not connect for the first 5 seconds after launching the app.
|
- Fixed a bug where the remote app could not connect for the first 5 seconds after launching the app.
|
||||||
- Added Malay language. Ick; apparently its been sitting done for a while and I hadn't realized it wasn't added to the game yet. Apologies!. And thanks to all contributors!
|
- Added Malay language. Ick; apparently its been sitting done for a while and I hadn't realized it wasn't added to the game yet. Apologies!. And thanks to all contributors!
|
||||||
|
- Added 'enable_queue' server config setting. This defaults to True but can be turned off as a workaround for server owners targeted by queue spam attacks.
|
||||||
|
- The public party list no longer sorts servers without queues at the end of the list. This sorting was put there long ago to prioritize fancy new queue-supporting servers but now it would just make the few that opt out of queues hard to find. Doh. So opting out of queues is probably not a great idea until this build is widespread.
|
||||||
|
|
||||||
### 1.7.15 (build 20960, api 7, 2022-12-04)
|
### 1.7.15 (build 20960, api 7, 2022-12-04)
|
||||||
- The cancel button on the 'Sign in with a Bombsquad Account' popup no longer respond to system cancel buttons (escape key, android back button, etc). Turns out some Android people were pressing back repeatedly to come back from a browser after signing in and immediately canceling their sign in attempts in the game before they completed. Hopefully this will avoid some frustration.
|
- The cancel button on the 'Sign in with a Bombsquad Account' popup no longer respond to system cancel buttons (escape key, android back button, etc). Turns out some Android people were pressing back repeatedly to come back from a browser after signing in and immediately canceling their sign in attempts in the game before they completed. Hopefully this will avoid some frustration.
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
313825873705357186590048512620581045590
|
307626381968915875246137499583097815878
|
||||||
@ -3025,6 +3025,12 @@ def set_public_party_name(name: str) -> None:
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
def set_public_party_queue_enabled(max_size: bool) -> None:
|
||||||
|
|
||||||
|
"""(internal)"""
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
def set_public_party_stats_url(url: str | None) -> None:
|
def set_public_party_stats_url(url: str | None) -> None:
|
||||||
|
|
||||||
"""(internal)"""
|
"""(internal)"""
|
||||||
|
|||||||
@ -47,7 +47,7 @@ def bootstrap() -> None:
|
|||||||
|
|
||||||
# Give a soft warning if we're being used with a different binary
|
# Give a soft warning if we're being used with a different binary
|
||||||
# version than we expect.
|
# version than we expect.
|
||||||
expected_build = 20963
|
expected_build = 20966
|
||||||
running_build: int = env['build_number']
|
running_build: int = env['build_number']
|
||||||
if running_build != expected_build:
|
if running_build != expected_build:
|
||||||
print(
|
print(
|
||||||
|
|||||||
@ -418,6 +418,7 @@ class ServerController:
|
|||||||
|
|
||||||
# Call set-enabled last (will push state to the cloud).
|
# Call set-enabled last (will push state to the cloud).
|
||||||
_ba.set_public_party_max_size(self._config.max_party_size)
|
_ba.set_public_party_max_size(self._config.max_party_size)
|
||||||
|
_ba.set_public_party_queue_enabled(self._config.enable_queue)
|
||||||
_ba.set_public_party_name(self._config.party_name)
|
_ba.set_public_party_name(self._config.party_name)
|
||||||
_ba.set_public_party_stats_url(self._config.stats_url)
|
_ba.set_public_party_stats_url(self._config.stats_url)
|
||||||
_ba.set_public_party_enabled(self._config.party_is_public)
|
_ba.set_public_party_enabled(self._config.party_is_public)
|
||||||
|
|||||||
@ -40,6 +40,7 @@ from _ba import (
|
|||||||
get_public_party_max_size,
|
get_public_party_max_size,
|
||||||
set_public_party_name,
|
set_public_party_name,
|
||||||
set_public_party_max_size,
|
set_public_party_max_size,
|
||||||
|
set_public_party_queue_enabled,
|
||||||
set_authenticate_clients,
|
set_authenticate_clients,
|
||||||
set_public_party_enabled,
|
set_public_party_enabled,
|
||||||
reset_random_player_names,
|
reset_random_player_names,
|
||||||
@ -213,6 +214,7 @@ __all__ = [
|
|||||||
'get_public_party_max_size',
|
'get_public_party_max_size',
|
||||||
'set_public_party_name',
|
'set_public_party_name',
|
||||||
'set_public_party_max_size',
|
'set_public_party_max_size',
|
||||||
|
'set_public_party_queue_enabled',
|
||||||
'set_authenticate_clients',
|
'set_authenticate_clients',
|
||||||
'set_public_party_enabled',
|
'set_public_party_enabled',
|
||||||
'reset_random_player_names',
|
'reset_random_player_names',
|
||||||
|
|||||||
@ -17,10 +17,9 @@ import ba.internal
|
|||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from ba.internal import LoginAdapter
|
from ba.internal import LoginAdapter
|
||||||
|
|
||||||
# We only show v1 linking controls when directly signed in with
|
# These days we're directing people to the web based account settings
|
||||||
# V1 accounts. Generally V2 accounts should use the web ui for linking.
|
# for V2 account linking and trying to get them to disconnect remaining
|
||||||
# However we have an escape-hatch here if someone needs to access
|
# V1 links, but leaving this escape hatch here in case needed.
|
||||||
# V1 linking for the V1 portion of their V2 account.
|
|
||||||
FORCE_ENABLE_V1_LINKING = False
|
FORCE_ENABLE_V1_LINKING = False
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1094,7 +1094,6 @@ class PublicGatherTab(GatherTab):
|
|||||||
|
|
||||||
self._parties_sorted.sort(
|
self._parties_sorted.sort(
|
||||||
key=lambda p: (
|
key=lambda p: (
|
||||||
p[1].queue is None, # Show non-queued last.
|
|
||||||
p[1].ping if p[1].ping is not None else 999999.0,
|
p[1].ping if p[1].ping is not None else 999999.0,
|
||||||
p[1].index,
|
p[1].index,
|
||||||
)
|
)
|
||||||
|
|||||||
@ -32,7 +32,7 @@
|
|||||||
namespace ballistica {
|
namespace ballistica {
|
||||||
|
|
||||||
// These are set automatically via script; don't modify them here.
|
// These are set automatically via script; don't modify them here.
|
||||||
const int kAppBuildNumber = 20963;
|
const int kAppBuildNumber = 20966;
|
||||||
const char* kAppVersion = "1.7.16";
|
const char* kAppVersion = "1.7.16";
|
||||||
|
|
||||||
// Our standalone globals.
|
// Our standalone globals.
|
||||||
|
|||||||
@ -2108,6 +2108,20 @@ void Logic::SetPublicPartySize(int count) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto Logic::SetPublicPartyQueueEnabled(bool enabled) -> void {
|
||||||
|
assert(InLogicThread());
|
||||||
|
if (enabled == public_party_queue_enabled_) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
public_party_queue_enabled_ = enabled;
|
||||||
|
|
||||||
|
// Push our new state to the server *ONLY* if public-party is turned on
|
||||||
|
// (wasteful otherwise).
|
||||||
|
if (public_party_enabled_) {
|
||||||
|
g_app_internal->PushPublicPartyState();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Logic::SetPublicPartyMaxSize(int count) {
|
void Logic::SetPublicPartyMaxSize(int count) {
|
||||||
assert(InLogicThread());
|
assert(InLogicThread());
|
||||||
if (count == public_party_max_size_) {
|
if (count == public_party_max_size_) {
|
||||||
|
|||||||
@ -214,6 +214,10 @@ class Logic {
|
|||||||
auto public_party_size() const { return public_party_size_; }
|
auto public_party_size() const { return public_party_size_; }
|
||||||
auto SetPublicPartySize(int count) -> void;
|
auto SetPublicPartySize(int count) -> void;
|
||||||
auto public_party_max_size() const { return public_party_max_size_; }
|
auto public_party_max_size() const { return public_party_max_size_; }
|
||||||
|
auto SetPublicPartyQueueEnabled(bool enabled) -> void;
|
||||||
|
auto public_party_queue_enabled() const {
|
||||||
|
return public_party_queue_enabled_;
|
||||||
|
}
|
||||||
auto public_party_max_player_count() const {
|
auto public_party_max_player_count() const {
|
||||||
return public_party_max_player_count_;
|
return public_party_max_player_count_;
|
||||||
}
|
}
|
||||||
@ -322,6 +326,7 @@ class Logic {
|
|||||||
bool public_party_enabled_{};
|
bool public_party_enabled_{};
|
||||||
int public_party_size_{1}; // Always count ourself (is that what we want?).
|
int public_party_size_{1}; // Always count ourself (is that what we want?).
|
||||||
int public_party_max_size_{8};
|
int public_party_max_size_{8};
|
||||||
|
bool public_party_queue_enabled_{true};
|
||||||
int public_party_player_count_{0};
|
int public_party_player_count_{0};
|
||||||
int public_party_max_player_count_{8};
|
int public_party_max_player_count_{8};
|
||||||
std::string public_party_name_;
|
std::string public_party_name_;
|
||||||
|
|||||||
@ -114,6 +114,21 @@ auto PySetPublicPartyMaxSize(PyObject* self, PyObject* args, PyObject* keywds)
|
|||||||
BA_PYTHON_CATCH;
|
BA_PYTHON_CATCH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto PySetPublicPartyQueueEnabled(PyObject* self, PyObject* args,
|
||||||
|
PyObject* keywds) -> PyObject* {
|
||||||
|
BA_PYTHON_TRY;
|
||||||
|
int enabled;
|
||||||
|
static const char* kwlist[] = {"enabled", nullptr};
|
||||||
|
if (!PyArg_ParseTupleAndKeywords(args, keywds, "p",
|
||||||
|
const_cast<char**>(kwlist), &enabled)) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
assert(g_python);
|
||||||
|
g_logic->SetPublicPartyQueueEnabled(enabled);
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
BA_PYTHON_CATCH;
|
||||||
|
}
|
||||||
|
|
||||||
auto PySetAuthenticateClients(PyObject* self, PyObject* args, PyObject* keywds)
|
auto PySetAuthenticateClients(PyObject* self, PyObject* args, PyObject* keywds)
|
||||||
-> PyObject* {
|
-> PyObject* {
|
||||||
BA_PYTHON_TRY;
|
BA_PYTHON_TRY;
|
||||||
@ -498,6 +513,13 @@ auto PythonMethodsNetworking::GetMethods() -> std::vector<PyMethodDef> {
|
|||||||
METH_VARARGS | METH_KEYWORDS,
|
METH_VARARGS | METH_KEYWORDS,
|
||||||
"set_public_party_max_size(max_size: int) -> None\n"
|
"set_public_party_max_size(max_size: int) -> None\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
|
"(internal)"},
|
||||||
|
|
||||||
|
{"set_public_party_queue_enabled",
|
||||||
|
(PyCFunction)PySetPublicPartyQueueEnabled, METH_VARARGS | METH_KEYWORDS,
|
||||||
|
"set_public_party_queue_enabled(max_size: bool) -> None\n"
|
||||||
|
"\n"
|
||||||
"(internal)"},
|
"(internal)"},
|
||||||
|
|
||||||
{"get_public_party_max_size", (PyCFunction)PyGetPublicPartyMaxSize,
|
{"get_public_party_max_size", (PyCFunction)PyGetPublicPartyMaxSize,
|
||||||
|
|||||||
@ -138,6 +138,11 @@ class ServerConfig:
|
|||||||
tuple[float, float, float], tuple[float, float, float]
|
tuple[float, float, float], tuple[float, float, float]
|
||||||
] | None = None
|
] | None = None
|
||||||
|
|
||||||
|
# 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: bool = True
|
||||||
|
|
||||||
# (internal) stress-testing mode.
|
# (internal) stress-testing mode.
|
||||||
stress_test_players: int | None = None
|
stress_test_players: int | None = None
|
||||||
|
|
||||||
|
|||||||
@ -274,6 +274,44 @@ if TYPE_CHECKING:
|
|||||||
) -> _CallNoArgs[OutT]:
|
) -> _CallNoArgs[OutT]:
|
||||||
...
|
...
|
||||||
|
|
||||||
|
# 4 arg call; 3 args bundled.
|
||||||
|
# noinspection PyPep8Naming
|
||||||
|
@overload
|
||||||
|
def Call(
|
||||||
|
call: Callable[[In1T, In2T, In3T, In4T], OutT],
|
||||||
|
arg1: In1T,
|
||||||
|
arg2: In2T,
|
||||||
|
arg3: In3T,
|
||||||
|
) -> _Call1Arg[In4T, OutT]:
|
||||||
|
...
|
||||||
|
|
||||||
|
# 4 arg call; 2 args bundled.
|
||||||
|
# noinspection PyPep8Naming
|
||||||
|
@overload
|
||||||
|
def Call(
|
||||||
|
call: Callable[[In1T, In2T, In3T, In4T], OutT],
|
||||||
|
arg1: In1T,
|
||||||
|
arg2: In2T,
|
||||||
|
) -> _Call2Args[In3T, In4T, OutT]:
|
||||||
|
...
|
||||||
|
|
||||||
|
# 4 arg call; 1 arg bundled.
|
||||||
|
# noinspection PyPep8Naming
|
||||||
|
@overload
|
||||||
|
def Call(
|
||||||
|
call: Callable[[In1T, In2T, In3T, In4T], OutT],
|
||||||
|
arg1: In1T,
|
||||||
|
) -> _Call3Args[In2T, In3T, In4T, OutT]:
|
||||||
|
...
|
||||||
|
|
||||||
|
# 4 arg call; no args bundled.
|
||||||
|
# noinspection PyPep8Naming
|
||||||
|
@overload
|
||||||
|
def Call(
|
||||||
|
call: Callable[[In1T, In2T, In3T, In4T], OutT],
|
||||||
|
) -> _Call4Args[In1T, In2T, In3T, In4T, OutT]:
|
||||||
|
...
|
||||||
|
|
||||||
# 5 arg call; 5 args bundled.
|
# 5 arg call; 5 args bundled.
|
||||||
# noinspection PyPep8Naming
|
# noinspection PyPep8Naming
|
||||||
@overload
|
@overload
|
||||||
|
|||||||
@ -39,6 +39,7 @@ class _EmptyObj:
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
# TODO: kill this and just use efro.call.tpartial
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
Call = Call
|
Call = Call
|
||||||
else:
|
else:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user