• 0 Votes
    3 Posts
    14 Views

    Hello, thank you for the clarification.

    Based on your answer, I understand the following:

    GetSocialLeaderboard returns the full set of friends + self + pacers, and there is no hidden max result limit. GetMultiSocialLeaderboard can return only the Top N results using leaderboardResultCount, after social filtering and score sorting. However, there is no page/offset-based pagination API for social leaderboards like GetGlobalLeaderboardPage. leaderboardResultCount is limited by the app property maxMultipleLeaderboardScoreLimit, whose default value is 10. Friend IDs are stored as an array in the UserProfile, so very large friend lists may affect read/write performance.

    I have two follow-up questions:

    How can we increase the maxMultipleLeaderboardScoreLimit value?
    Is this app property something we can change directly in the Console, or does it require a request to brainCloud Support?
    If a Support request is required, could you let us know what information we need to provide and whether there is a recommended maximum value?

    We are planning to build a friends-based social leaderboard for up to around 10,000 friends.
    In this case, is the recommended approach to call GetSocialLeaderboard, retrieve the full friends leaderboard, and then handle paging on the client/server side?
    Or, at this scale, would you recommend using a separate Custom Entity, Cloud Code, external ranking cache, or another leaderboard structure instead?

    To clarify, our requirement is not just to fetch the Top 50 users.
    We want to continuously page through a friends-based leaderboard like this:

    rank 1–50 rank 51–100 rank 101–150 ...

    Based on your previous answer, I understand that social leaderboard pagination is currently not supported.
    Could you please advise on the recommended architecture or best practice for implementing this kind of UX with a friends leaderboard of up to 10,000 users?

    Thank you.

  • 0 Votes
    3 Posts
    13 Views

    Hello brainCloud team,

    We would like to request a unique compound index for our Custom Entity type FOLLOW.

    Our App ID is 15389.

    The FOLLOW entity stores follow relations with the following data shape:

    { "followerId": "profileId_A", "followingId": "profileId_B", "createdAt": 1770000000000 }

    We want to prevent duplicate follow relations for the same follower/following pair.

    Entity Type: FOLLOW

    Unique index name: followerId_followingId_unique

    Keys:

    { "data.followerId": 1, "data.followingId": 1 }

    Options:

    { "unique": true, "background": true }

    We already have a non-unique index with the same key pattern:

    Index name: followerId_followingId

    Keys:

    { "data.followerId": 1, "data.followingId": 1 }

    If needed, please replace this existing non-unique index with the unique version.

    This feature has not been released to production yet, so we can clean up or reset the FOLLOW data before the unique index is applied if necessary.

    We also have a few questions:

    If this unique index is manually added to the Development app, will it be included automatically when we deploy or migrate to Staging/Production? Or does this unique index need to be manually applied per app/environment? If it must be applied per environment, can we provide the appIds for Development, Staging, and Production so you can add the same index to each app? Are manually added Custom Entity indexes included in brainCloud deploy/migrate/export-import workflows? If there are existing duplicate rows for the same data.followerId + data.followingId pair, will the unique index creation fail? Is there any expected downtime, lock, write failure, or performance impact while this index is being created? After the index is applied, what is the recommended way to verify that the unique index exists in each environment?

    Thank you.

  • 0 Votes
    4 Posts
    20 Views

    @moondory77

    Regarding your question: "Has the LiveOps feature been removed or deprecated? I can no longer find any documentation for it, and it seems to be missing from the dashboard as well."

    I am not 100% sure which feature you are referring to. But maybe you are referring to a feature in our upcoming 6.0 release?

    In brainCloud6.0, we will be moving Promotions and Redemptions to a new Braincloud Category called Live Ops.

    24292fca-d9f9-41e0-8760-f13a71891da0-image.png

    We will also be introducing a new feature called Campaigns. (In some previews we may have described it as Live Ops Campaigns).

    Campaigns are a major showcase of the 6.0 release and will enable Scheduled Limited-Time Game Modes and A/B Scenarios (w/ built-in promotions)

    Additional features being released in 6.0 will compliment the development of Promotions and Campaigns making them incredibly easy to develop and powerful.

    Could it be possible you saw a sneak peek at the Live Ops Campaigns feature?

    Let me know,
    Thanks
    JH

  • 0 Votes
    7 Posts
    85 Views

    Ah - great to hear @jongdae-won . Thanks for the update!

  • Admin Billing API request

    Unsolved APIs
    6
    0 Votes
    6 Posts
    84 Views

    Added the additional details to 13660

  • 0 Votes
    3 Posts
    51 Views

    Thank you for your kind response.

  • 0 Votes
    4 Posts
    95 Views

    @gyutaelee I will investigate the Per Promotion Deployment option you requested.

    As I was working on this I thought there may be a workaround for you that you would like. This could work for your team with minimal effort and on your current version of brainCloud portal.

    My solution hides the promotion so that only users you flag as TESTERS will see it.

    This would let your PROD testers gain the benefit of the no-ads promotion without disrupting your monetization.

    Within Automatic Promotions, there is the option to Target members of any of these segments.

    cb1f4861-16f8-432a-bb22-4b71dc0b0ce1-image.png

    Within Scheduled Promotions, there is the option to Offer this promo to: Only users in:

    2a5f3a28-91ba-4f2c-bb1c-5a2c04ead1e5-image.png

    Advancing to App > Design > Segmentation > Segments we can create a segment that filters to players that are flagged as Testers.

    59f8d7bc-3640-450f-ab67-086af9b8acdd-image.png

    Now, segments need to have at least one more criteria, so let's choose something like has logged in at least 1 time.

    d86e5f6d-ded8-4c7e-ab26-1c07f9813f0e-image.png

    Save this Segment

    IMPORTANT! Add the segment to your Promotion
    This will limit the promo to only eligible users. Noone else sees it!
    7aca6582-cff3-4469-ae98-6339b341ba06-image.png

    Next we will need to flag some users as Testers. For a DEV app, the easiest way to do this is to go to the User Browser, RECENTLY ACTIVE and pick players (your testers) with recent activity.

    ec366981-f641-4833-87f2-64798766555c-image.png

    GO TO USER to bring up their user summary and check the IsTester checkbox.
    d1094afd-ca63-4ce6-8070-477c879fb1d4-image.png

    Testers get a special icon
    e02b71bc-db5b-4127-a6a7-1528697aee6f-image.png

    Next, we will return to Segments.

    Segments are automatically processed overnight, but you can Refresh Segments immediately with the REFRESH SEGMENTS button. Please note: refreshing segments processes every player so this process can take a while and preferably left to low-traffic times of day.

    e306d8e0-553d-475c-a780-43fbed29a271-image.png

    After processing completes, we can check the cohort of testers by returning to the User Browser choosing BROWSE, and Browse Within A Segment.

    43a330f6-e572-4b0b-a8ca-c0d631e63240-image.png

    These are my Testers, so everything worked.
    a8b56bbb-536c-447b-9e7d-a8d8236ff165-image.png

    Since only testers are eligible for the promotion, you are free to deploy it to PROD without affecting your monetization. And the PROD Testers you select will be able to gain the workflow benefit of no ads.

    Could you let me know if this solution solves your problem?

    Let me know if you have any questions,
    Regards
    John
    -Design

  • 0 Votes
    3 Posts
    54 Views

    Case 13633 - [implementing]

  • 0 Votes
    7 Posts
    166 Views

    @Paul-Winterhalder , could you please respond to @noah 's inquiry?

  • 0 Votes
    5 Posts
    76 Views

    Hi @gyutaelee I am bringing this to the dev team for further discussion. thank you for suggesting it.

  • 0 Votes
    6 Posts
    248 Views

    Thanks @Brad-Hester !

  • 0 Votes
    10 Posts
    261 Views

    Thank you for your helpful response. I will proceed as you suggested.

  • 0 Votes
    3 Posts
    92 Views

    It's been resolved. Thank you for your response!

  • missing features

    Feature Suggestions
    4
    0 Votes
    4 Posts
    173 Views

    Dear @dbgtdbz2 ,

    About your feature request #1, “Please allow specifying items as conditions for purchasing virtual or bundle items."

    I have developed a mockup for this feature.

    If we add your Prerequisite Items request to the system as shown, will this work for your needs?

    Note that in this implementation, the prerequisite requirement applies only to a Virtual Currency transaction. PrereqItemsMockup.png

    Please let me know at your convenience,
    Regards,
    John H
    -Design

  • Matchmaking To An Edgegap Hosted Server Instance

    Unsolved General
    4
    0 Votes
    4 Posts
    104 Views

    Hey, thanks for reaching out. To answer your main question directly: yes, brainCloud's lobby and matchmaking system can trigger an Edgegap server deployment automatically. You do not need to build a custom C++ room server to make this work.

    https://github.com/getbraincloud/examples-cpp/tree/develop/relaytestapp

    The relaytestapp example on the develop branch of examples-cpp is a working client example that does exactly what you are describing. It uses brainCloud lobbies and matchmaking to find a match, and once the lobby is ready to launch, brainCloud handles spinning up the Edgegap server and passes the connection details back to all players through RTT.
    The server configuration you see in the screenshot is what ties everything together on the brainCloud side. That entry defines which Edgegap application to deploy, which regions to consider based on the selected beacons, and the credentials needed to make the deployment call. Once that server is linked to a lobby type, the entire launch sequence is handled for you.
    The relaytestapp is a solid starting point to see this end to end.
    Screenshot 2026-05-07 at 12.13.17 PM.png

  • 0 Votes
    3 Posts
    102 Views

    @Paul-Winterhalder Hello! Here is my app Id "15675

  • 0 Votes
    6 Posts
    325 Views

    Q1: The removed player is completely excluded from reward calculation, so if the deletion happens before the job runs, that player is never iterated over and receives no rank or rewards.
    Q2: Yes, the modified score will be used. The job always reads live state. Note that whether the score actually gets modified depends on the leaderboard type (e.g., for the LOW_VALUE type, only updates if the new score is less than the existing)
    Q3: No backfilling, the next joiner goes to the latest instance, not the freed spot in ^2. No loop over earlier instances (^1, ^2) ever happens. The next joiner goes to ^3 (or ^4 if ^3 is full). The freed spot in ^2 stays empty permanently.

  • NewUser detection issue

    Solved General
    2
    0 Votes
    2 Posts
    143 Views

    The aggregation that counts new users is not real time, it runs at hourly granularity, so there can be a delay before the stats reflect the actual number of users. At the time of checking again, the numbers had updated as follows
    image.png

  • 0 Votes
    15 Posts
    806 Views

    Hi @noah ,

    This support has already been added to the Builder API. The new options can be specified when importing app configuration data OR when deploying an app.

    When importing app configuration data, there is a new optional 'preserveDivisionSetConfigsOverride' parameter that can be specified. If not specified, it will default to whatever the value is for 'preserveLeaderboardTournamentConfigs'.

    When deploying from one app to another, there is a new optional 'divisionSetConfigOverrides' parameter that can be specified in the 'options.meta.excludes' section. If not specified, it will default to whatever the value is for 'leaderboardsTournaments'.

    I will endeavour to get our Builder API docs updated with these new parameters. Let us know if you encounter any issues using them.

    Thanks!
    Greg

  • 0 Votes
    5 Posts
    289 Views

    The structure is such that the certificate and template are distributed simultaneously.
    What I need is to distribute only the template, excluding the certificate.