baplus package¶
Closed-source bits of ballistica.
This code concerns sensitive things like accounts and master-server communication, so the native C++ parts of it remain closed. Native precompiled static libraries of this portion are provided for those who want to compile the rest of the engine, or a fully open-source app can also be built by removing this feature-set.
- class baplus.AdsSubsystem[source]¶
Bases:
objectSubsystem for ads functionality in the app.
Access the single shared instance of this class via the
adsattr on thePlusAppSubsystemclass.
- class baplus.CloudSubsystem[source]¶
Bases:
AppSubsystemManages communication with cloud components.
Access the shared single instance of this class via the
cloudattr on thePlusAppSubsystemclass.- property connected: bool¶
Whether a connection to the cloud is present.
This is a good indicator (though not for certain) that sending messages will succeed.
- property secure_data_reader: securedata.Reader¶
The latest
bacommon.securedata.Readerfrom basn.Bundled into each v2-transport handshake response; valid for at least the connecting session’s full lifetime. Use it to verify any
bacommon.securedata.Archivethe client receives (reader.read(archive)returns the signed bytes or raisesbacommon.securedata.Invalid).Raises
RuntimeErrorif no v2-transport session has connected yet — callers that need a Reader before any session is up should use the static-keys path (_babase.verify_ed25519againstbacommon.securedata.STATIC_DATA_PUBLIC_KEYS) instead, which is what the InsecureDirective verification uses today.
- send_message(msg: WorkspaceFetchMessage) WorkspaceFetchResponse[source]¶
- send_message(msg: MerchAvailabilityMessage) MerchAvailabilityResponse
- send_message(msg: TestMessage) TestResponse
- send_message(msg: LegacyRequest) LegacyResponse
- send_message(msg: FulfillDocUIRequest) FulfillDocUIResponse
Synchronously send a message to the cloud.
Must be called from a background thread.
- async send_message_async(msg: SendInfoMessage) SendInfoResponse[source]¶
- async send_message_async(msg: TestMessage) TestResponse
Asynchronously send a message to the cloud.
Must be called from the logic thread.
- send_message_cb(msg: LoginProxyRequestMessage, on_response: Callable[[LoginProxyRequestResponse | Exception], None]) None[source]¶
- send_message_cb(msg: CloudValsRequest, on_response: Callable[[CloudValsResponse | Exception], None]) None
- send_message_cb(msg: LoginProxyStateQueryMessage, on_response: Callable[[LoginProxyStateQueryResponse | Exception], None]) None
- send_message_cb(msg: LoginProxyCompleteMessage, on_response: Callable[[None | Exception], None]) None
- send_message_cb(msg: PingMessage, on_response: Callable[[PingResponse | Exception], None]) None
- send_message_cb(msg: SignInMessage, on_response: Callable[[SignInResponse | Exception], None]) None
- send_message_cb(msg: ManageAccountMessage, on_response: Callable[[ManageAccountResponse | Exception], None]) None
- send_message_cb(msg: GetClassicPurchasesMessage, on_response: Callable[[GetClassicPurchasesResponse | Exception], None]) None
- send_message_cb(msg: StoreQueryMessage, on_response: Callable[[StoreQueryResponse | Exception], None]) None
- send_message_cb(msg: PrivatePartyMessage, on_response: Callable[[PrivatePartyResponse | Exception], None]) None
- send_message_cb(msg: InboxRequestMessage, on_response: Callable[[InboxRequestResponse | Exception], None]) None
- send_message_cb(msg: cdlg.ActionMessage, on_response: Callable[[cdlg.ActionResponse | Exception], None]) None
- send_message_cb(msg: ChestInfoMessage, on_response: Callable[[ChestInfoResponse | Exception], None]) None
- send_message_cb(msg: ChestActionMessage, on_response: Callable[[ChestActionResponse | Exception], None]) None
- send_message_cb(msg: GlobalProfileCheckMessage, on_response: Callable[[BoolResponse | Exception], None]) None
- send_message_cb(msg: ScoreSubmitMessage, on_response: Callable[[ScoreSubmitResponse | Exception], None]) None
- send_message_cb(msg: SecureDataCheckerRequest, on_response: Callable[[SecureDataCheckerResponse | Exception], None]) None
- send_message_cb(msg: GetClassicLeaguePresidentButtonInfoMessage, on_response: Callable[[GetClassicLeaguePresidentButtonInfoResponse | Exception], None]) None
- send_message_cb(msg: AnalyticsEventMessage, on_response: Callable[[None | Exception], None]) None
- send_message_cb(msg: AuthRequestMessage, on_response: Callable[[AuthRequestResponse | Exception], None]) None
- send_message_cb(msg: TransientAPIKeyRequest, on_response: Callable[[TransientAPIKeyResponse | Exception], None]) None
Asynchronously send a message to the cloud from the logic thread.
The provided
on_responsecall will be run in the logic thread and passed either the response or the error that occurred.
- class baplus.PlusAppSubsystem[source]¶
Bases:
AppSubsystemSubsystem for plus functionality in the app.
Access the single shared instance of this class via the
plusattr on theAppclass. Note that it is possible for this to beNoneif the plus package is not present, so code should handle that case gracefully.- accounts: AccountV2Subsystem¶
- ads: AdsSubsystem¶
Ad wrangling functionality.
- cloud: CloudSubsystem¶