In this topic we are going to cover how player management works with these different platforms. What we mean by player management is any kind of form or tool which allows you to search for a player by user-name, email or id and then view or change some attributes from the back-office.
These tools can be quite complex, especially as GameSparks allows developers to create custom manage-screens where they can add any functionality they want. However, in alternative platforms we don't always have this flexibility, so we have to go with what they offer us. There is an exception to this where we could create our own manage-screen outside of the platform using custom-build tools. There is a topic here
There technically isn't a GameSparks-official player manager anymore, but in some old versions of the portal you would get the default “Player” manage-screen where you could search for player and update certain out-of-the-box features so this is what we are going to be looking for.
Through the Beamable portal you have access to a pretty extensive player management dashboard. You will see the player search bar on the home-page of your realm.
There is no way to see a list of players, for example the most recently logged in players. Instead you will need an email address or player Id.
For testing, you can find your player Id by clicking on the tilda (~) key while your game is playing through the editor. From there you will see some debug commands you can run to get SDK information. Running the dbid command will get you your current player’s Id.
When you put your player Id into the search field you will see the player’s full account details once the player has been loaded.
The tab along the top shows you different sections or attributes of the player account you can jump through, but you can also scroll down through the player account to see the same sections.
This is a section we have covered quite a lot throughout these topics. This is where Items and Currency are displayed in the Beamable player’s account.
You can switch between Currencies and Items using the tab on the top of the list. You can also edit or add items using the options shown above quickly and easily.
Adding items also allows you to add attributes directly
And you can see those properties added to the Item from the list.
Stats are another important section that has come up in a lot of topics. As Stats are just a list of strings it is easier to manage them from the portal and so they don't have a lot of options. Stats are split up into domains (client or game) and access (public or private). You can see stats grouped by these attributes by the tabs at the top of the list.
You cannot edit private stats, but if you switch to the public tab you can edit stats from there.
We covered Cloud-Data in the Cloud-Code topic here. In this section you can see names of all the Cloud-Data stored on your player. You can upload or download this data but you cannot delete or add data through this list.
There is also an option to Copy Form which you can see on the right-hand side of the list. This is used to import another player’s Cloud-Data into this player’s account. This will result in all this player’s data being wiped.
From the Admin portal, we should go to the Users category under Users Management which will bring us a new page to list players based on three filters as shown below. We can get any player based on their Email, UserId, Creation Date etc.
We will see a list of players based on preferences in the earlier step as shown below.
We can see the player dashboard by clicking on the “view” option just right of each player.
This will bring up your chosen player’s dashboard as shown below. Player account details like orders, wallet, entitlements, linked accounts, sessions etc will be displayed here.
Player Wallet There is a separate section for wallets specific to the player where you can credit or debit any desired amount with virtual currency as shown below. You can find the dedicated wallet management section named “Wallets” under the E-Commerce section in the Admin portal.
Note - You need to have some Virtual Currency credited to the player before your player’s wallet will appear. The wallet needs to be initialized first. Check out the topic on Virtual Currency here for more details on testing out the player wallet feature
In the screenshot below you can see our user has two items. These are listed in the “Entitlements” tab, which is another word for Items or Virtual Goods used by AccelByte.
Orders are something you will not find in GameSparks but they are discussed in our topic on Virtual Goods
You can see the various orders made by your users over time as shown below.
In order to see player stats, we need to go to a dedicated statistics window in the Admin portal. Under Game Management, you can find the Statistics section. If you click on the Statistics Value panel, you can see Player and Global options below and these are discussed in our topic on Leaderboards
We need to enter a player userId,or Email, or Username and this will open the player stats as
Nakama provides a player management screen out-of-the-box. You will find this in the Developer Console of your Nakama instance.
For most of the examples in this topic we are running our instance locally which would be at 127.0.0.1:7351. You can find the player manager by clicking on the Accounts option on the left-hand side menu of the Developer Console.
From this screen you can search for players by ID, user-name or partial username. You can click on a player to view their account.
From here you can see the tab on the top of the window shows the other options of the player account you can view.
The player profile tab shows some basic player information along with the player metadata at the bottom. We covered metadata in the Authentication topic here
You can also edit and update metadata from here.
Here you can see any authentication details about your players. In the example above we have a player using Facebook authentication, so we can see their Facebook user ID linked to this account. Similarly, if the player was using device-auth or email, you would be able to view this here too.
This window shows you what groups/teams the player is a member of. You can drop the player from these groups from here.
The wallet tab shows the player’s current balance as a JSON object which can be edited from this view. Check out our topic here to see how we set these wallets up for our players automatically when they create accounts.
You can see below the JSON editor window that there is also a list of changes to the player's wallet available in this tab. You can use this to audit player transactions.
In the purchases tab you can see any IAPs purchased by the player. The information displayed here depends on the store being used, for example…
The storage tab is a very useful feature of the player manager. This tab shows you all the documents in all the collections in the Nakama Storage Engine which are currently associated with the player.
There are various examples in these transistion topics where we use the Nakama storage engine to store custom objects or objects modeled on GameSparks features. The example below shows how we can store virtual goods as custom objects to create something like an inventory feature out of the standard GameSparks Virtual Goods feature.
Player Management is accomplished via the Monitoring | User Monitoring section of the portal. Subsections for viewing and editing player data include:
- User Summary – a summary of the user’s info, including name, xp, identities, currency balances, etc.
- Achievements – displays the user’s achievement status
- Attributes – displays any attributes attached to the user. Supported creating and editing of attributes
- Custom Entities – allows for view/edit of a user’s owned Custom Entities
- Friends – view the player’s friends (both 3rd party and locally managed)
- Groups – view the Groups the user is a member of
- Inventory – view the items owned by the player
- Milestones & Quests – view the user’s completion status for milestones and quests
- One-way MP – view the status of recent one-way multiplayer matches
- Pricing – view the store prices for this player – including any promotions that may be being applied
- Statistics – view/edit the user’s statistics
- Transactions – view any purchases the player may have made
- Turn-by-Turn MP – view any async match games currently in progress
- User Entities – view/edit the player’s User Entities
- User Files – view the files that this user has uploaded
- Virtual Currency – view/edit the user’s current balances
- Logs – logs of the user’s recent interactions with the brainCloud API <- super useful for debugging!
brainCloud also offers an S2S API that can be useful for building custom management tools.