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 Portal.

For more information on our web portal, see the Portal concepts pages.

Create a limited access event in Portal #

  1. Log into Pragma Engine’s Social Portal. If you are running Pragma locally, you can access the Social Portal at http://localhost:11200.

  2. Navigate to Game Title Management by clicking the Services menu at the top, then clicking Game Title Management.

  3. In the Game Title Management view, click on testGame.

  4. Click on testGameShard.

  5. Click the Add Event button.

  6. 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.

  7. 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 #

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"
        }
      }
    }
  }
}