PlayFab is a complete backend platform for live games with managed game services, real-time analytics, and LiveOps. This SDK provides complete access to the entire PlayFab API on Roblox.
Each PlayFab service (client, server, admin, matchmaking, etc) is split into its own Wally package to help reduce the overall bundle size (see reference below). PlayFab APIs are big, so only import the packages you actually need.
This repo comes with a production-ready implementation of the PlayFab SDK, and
is available pre-built to play here. Building the example
project is a bit of a process because you will need a PlayFab title and matchmaking
queue setup. Follow the instructions under the example/
directory.
While the entire PlayFab API is reflected in this SDK, Wally is currently unable to re-export Luau types to the package thunk. Whilst this doesn't break intellisense in your editor, it does mean you can't reference PlayFab API types for use in (for example) function signatures or type aliases.
To fix this, you should use the wally-package-types
tool. This is a temporary fix until Wally supports re-exporting types, and usage
can be found under install_packages.sh
I welcome contributions to this project!
Please keep in mind that all code contributions should be made to the generator/
,
because the modules/
directory is overwritten every update.
This contribution is dual licensed under EITHER OF
-
Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
-
MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
For clarity, "your" refers to Brooke Rhodes or any other licensee/user of the contribution.
Documentation for all PlayFab services are available on the Microsoft website (linked for each package below).
Service | Wally Package | Description |
---|---|---|
Admin | grilme99/[email protected] |
APIs for managing title configurations, uploaded Game Server code executables, and user data |
Authentication | grilme99/[email protected] |
The Authentication APIs provide a convenient way to convert classic authentication responses into entity authentication models. These APIs will provide you with the entity authentication token needed for subsequent Entity API calls. Manage API keys for authenticating any entity. The game_server API is designed to create uniquely identifiable game_server entities. The game_server Entity token can be used to call Matchmaking Lobby and Pubsub for server scenarios. |
Client | grilme99/[email protected] |
APIs which provide the full range of PlayFab features available to the client - authentication, account and data management, inventory, friends, matchmaking, reporting, and platform-specific functionality |
CloudScript | grilme99/[email protected] |
API methods for executing CloudScript using an Entity Profile |
Data | grilme99/[email protected] |
Store arbitrary data associated with an entity. Objects are small (~1KB) JSON-compatible objects which are stored directly on the entity profile. Objects are made available for use in other PlayFab contexts, such as PlayStream events and CloudScript functions. Files can efficiently store data of any size or format. Both objects and files support a flexible permissions system to control read and write access by other entities. |
Economy | grilme99/[email protected] |
API methods for managing the catalog. Inventory manages in-game assets for any given entity. |
Events | grilme99/[email protected] |
Write custom PlayStream and Telemetry events for any PlayFab entity. Telemetry events can be used for analytic, reporting, or debugging. PlayStream events can do all of that and also trigger custom actions in near real-time. |
Experimentation | grilme99/[email protected] |
APIs for managing experiments. |
Groups | grilme99/[email protected] |
The Groups API is designed for any permanent or semi-permanent collections of Entities (players, or non-players). If you want to make Guilds/Clans/Corporations/etc., then you should use groups. Groups can also be used to make chatrooms, parties, or any other persistent collection of entities. |
Insights | grilme99/[email protected] |
Manage the Insights performance level and data storage retention settings. |
Leaderboards | grilme99/[email protected] |
Manage entity statistics Manage entity statistics |
Localization | grilme99/[email protected] |
The Localization APIs give you the tools needed to manage language setup in your title. |
Matchmaker | grilme99/[email protected] |
Enables the use of an external match-making service in conjunction with PlayFab hosted Game Server instances |
Multiplayer | grilme99/[email protected] |
API methods for managing multiplayer servers. API methods for managing parties. The lobby service helps players group together to play multiplayer games. It is often used as a rendezvous point for players to share connection information. |
Profiles | grilme99/[email protected] |
All PlayFab entities have profiles, which hold top-level properties about the entity. These APIs give you the tools needed to manage entity profiles. The Master Player APIs allow you to perform operations on a master player account |
Server | grilme99/[email protected] |
Provides functionality to allow external (developer-controlled) servers to interact with user inventories and data in a trusted manner, and to handle matchmaking and client connection orchestration |