Limited Access Mode #
Limited access mode allows Operators to schedule time windows that open the platform for specified Player Groups. It can be used to create specific testing windows throughout development, including publisher demos, friends & family events, and closed/open betas. Limited access mode can be managed through the Pragma Engine Operator Portal.
For more information on the Operator Portal, see the Portal concepts pages.
Create a limited access event in the Operator Portal #
Log into Pragma Engine’s Social Operator Portal. If you are running Pragma locally, you can access the Social Operator Portal at http://localhost:11200.
Navigate to Game Title Management by clicking the Services menu at the top, then clicking Game Title Management.
In the Game Title Management view, click on
testGame
.Click on
testGameShard
.Click the Add Event button.
Set up your event by naming it, adding an optional description, adding the player group, and scheduling starting and ending dates/times. Click the Add Event button.
Under Access Mode, click the Limited button, then confirm that you wish to set the shard to Limited Access mode.
Create a limited access event using RPC calls #
Send CreateLimitedAccessEventOperatorV1
with event details:
{
"requestId": 1,
"type": "GameManagementRpc.CreateLimitedAccessEventOperatorV1Request",
"payload": {
"limitedAccessEventDetails": {
"gameShardId": "00000000-0000-0000-0000-000000000001",
"name": "BetaTest",
"description": "Come play our game!",
"playerGroupIds": [
"ffee5b6f-0b98-49ba-ad48-30aa2ff9df1d"
],
"startUnixTimeMs": 1647561600000,
"endUnixTimeMs": 1650240000000,
"timeZone": "America/Los_Angeles"
}
}
}
Below is a sample response with a created event:
{
"sequenceNumber": 0,
"response": {
"requestId": 1,
"type": "GameManagementRpc.CreateLimitedAccessEventOperatorV1Response",
"payload": {
"limitedAccessEvent": {
"limitedAccessEventId": "8115e320-ab23-4c0e-9f2d-429c06fe2db1",
"limitedAccessEventDetails": {
"gameShardId": "00000000-0000-0000-0000-000000000001",
"name": "BetaTest",
"description": "Come play our game!",
"playerGroupIds": [
"ffee5b6f-0b98-49ba-ad48-30aa2ff9df1d"
],
"startUnixTimeMs": "1647561600000",
"endUnixTimeMs": "1650240000000",
"timeZone": "America/Los_Angeles"
}
}
}
}
}
Change a limited access event #
Update existing Limited Access Event with UpdateLimitedAccessEventOperatorV1Request
:
{
"requestId": 1,
"type": "GameManagementRpc.UpdateLimitedAccessEventOperatorV1Request",
"payload": {
"limitedAccessEventId": "8115e320-ab23-4c0e-9f2d-429c06fe2db1",
"limitedAccessEventDetails": {
"gameShardId": "00000000-0000-0000-0000-000000000001",
"name": "Early Beta Access",
"description": "We decided to move the beta forward a month!",
"playerGroupIds": [
"ffee5b6f-0b98-49ba-ad48-30aa2ff9df1d"
],
"startUnixTimeMs": 1645142400000,
"endUnixTimeMs": 1647561600000,
"timeZone": "America/Los_Angeles"
}
}
}
Below is a sample response with updated information for your limited time event:
{
"sequenceNumber": 0,
"response": {
"requestId": 1,
"type": "GameManagementRpc.UpdateLimitedAccessEventOperatorV1Response",
"payload": {
"limitedAccessEvent": {
"limitedAccessEventId": "8115e320-ab23-4c0e-9f2d-429c06fe2db1",
"limitedAccessEventDetails": {
"gameShardId": "00000000-0000-0000-0000-000000000001",
"name": "Early Beta Access",
"description": "We decided to move the beta forward a month!",
"playerGroupIds": [
"ffee5b6f-0b98-49ba-ad48-30aa2ff9df1d"
],
"startUnixTimeMs": "1645142400000",
"endUnixTimeMs": "1647561600000",
"timeZone": "America/Los_Angeles"
}
}
}
}
}
Player Groups #
Player groups support live ops and shard management features.
Groups can be created and managed through the Operator Portal, either by selecting individual players or through various filter and random selection options.
The following are examples of use cases for player groups:
- add players to groups to allow them to access restricted game shard
- use membership in a player group to apply custom behavior in your game client (store A-B testing, balancing)
Create a player group #
- Log into Pragma Engine’s Social Operator Portal. If you are running Pragma locally, you can access the Social Operator Portal at http://localhost:11200.
- Click Groups in the Accounts menu on the left, then click the Add group button.
If you don’t see the Accounts menu, click the Services menu at the top, then click Accounts.
- Enter a name and optional description for the Player Group, then click Create Group.
- View the newly created Player Group in Pragma Portal. Click Add Players.
- Add the
test01
account to the group by clicking the Add button. - Click Groups in the Accounts menu on the left-hand side and verify that your group now has one player added.
In addition, the CreatePlayerGroupOperatorV1
endpoint is available to create player groups. Send CreatePlayerGroupOperatorV1
with a name and description:
{
"requestId": 1,
"type": "AccountRpc.CreatePlayerGroupOperatorV1Request",
"payload": {
"name": "group-name-1",
"description": "some description about the group"
}
}
Sample response with Player Group data including a group ID and player count.
{
"sequenceNumber": 0,
"response": {
"requestId": 1,
"type": "AccountRpc.CreatePlayerGroupOperatorV1Response",
"payload": {
"playerGroup": {
"playerGroupId": "3eed7645-8a46-497f-a60f-611df63cd4dd",
"name": "group-name-1",
"description": "some description about the group",
"playerCount": "0"
}
}
}
}
View existing player groups #
- Log into Pragma Engine’s Social Operator Portal. If you are running Pragma locally, you can access the Social Operator Portal at http://localhost:11200.
- Navigate to the Accounts service if necessary, then click on Groups in the left sidebar to view the existing player groups.
In addition, the ViewPlayerGroupsOperatorV1
endpoint can be used to view existing player groups and their respective playerGroupIds
. Send ViewPlayerGroupsOperatorV1
with the following payload:
{
"requestId": 1,
"type": "AccountRpc.ViewPlayerGroupsOperatorV1Request",
"payload": {}
}
Remove existing player groups #
- Log into Pragma Engine’s Social Portal. If you are running Pragma locally, you can access the Social Portal at http://localhost:11200.
- Navigate to the Accounts service if necessary, then click on Groups in the left sidebar to view the existing player groups.
- Click on the player group you’d like to remove.
- Click the Delete Group button.
In addition, the RemovePlayerGroupOperatorV1
endpoint can be used to remove existing player groups. Send RemovePlayerGroupOperatorV1
with the following payload:
{
"requestId": 1,
"type": "AccountRpc.RemovePlayerGroupOperatorV1Request",
"payload": {
"playerGroupId": "PLAYER_GROUP_ID"
}
}
Add an account to a group #
- From the Social Pragma Portal, click Services, then click Accounts.
- Click on the relevant player name to view individual account information.
- Under Groups click Add To Group.
- Select the player group you’d like to add in the dropdown.
- Confirm you would like to add the selected group.
In addition, the following Partner, Service, and Operator endpoints are available to add accounts to a group:
AccountRpc.AddAccountToPlayerGroupPartnerV1Request
AccountRpc.AddAccountToPlayerGroupServiceV1Request
AccountRpc.AddAccountToPlayerGroupOperatorV1Request
Add multiple accounts to a group #
- From the Social Pragma Portal, click Services, then click Groups.
- Select a group.
- Click Add Players.
- Filter the players you would like to add to the group.
- Click Add All.
In addition, the following Operator endpoint is available to add multiple accounts to a group: AccountRPC.AddAccountsToPlayerGroupOperatorV1Request
.
Remove an account from a group #
- From the Social Pragma Portal, click Services, then click Accounts.
- Click on the relevant player name to view individual account information.
- Under Groups, hover over the group you would like to remove.
- Click Remove.
- Confirm you would like to remove the selected group.
In addition, the following Partner, Service, and Operator endpoints are available to remove accounts from a group:
AccountRpc.RemoveAccountFromPlayerGroupPartnerV1Request
AccountRpc.RemoveAccountFromPlayerGroupServiceV1Request
AccountRpc.RemoveAccountFromPlayerGroupOperatorV1Request