• How to implement "loot boxes"

    Unsolved General
    2
    0 Votes
    2 Posts
    796 Views

    brainCloud doesn't directly support loot boxes currently... Though of course the Item Catalog and User Items services give you the building blocks to construct your own system in cloud code.

    To implement such a system, you would:

    use Global Entities or Unowned Custom Entities to represent the collection of loot box templates construct your JSON with the rules (percentages, etc.) for constructing the loot box then write a cloud code script that when run - performs the work to award the user the relevant items

    Note - there are future plans to add such a feature to brainCloud - but it isn't scheduled yet. I'll add your +1 !

    Paul.

  • Best way to set default items

    Solved General
    2
    0 Votes
    2 Posts
    867 Views

    Hi - normally what you'd do there is attach it as a reward to XP level 1. <- XP level 1 has a minimum XP of 0 - so users get it when the user account is created.

    I hope that helps!

  • Discord Server

    General
    2
    1 Votes
    2 Posts
    1k Views

    If looking for a Discord to chat with other devs implementing BC, the "GBaaS" Discord server has an official ambassador inside (although mostly for use with a feedback bot to forward to themselves and unofficial dev chatter with other folks implementing BC). It's decently active in the #braincloud channel:

    https://i42.games/gbaas (disclaimer: I run this server, but it's been around since 2016)

  • 0 Votes
    2 Posts
    1k Views

    Hi,

    Thanks for the suggestion. We're actually working on more country support right now - so adding segment criteria for it makes total sense.

    As for the "OR" and "AND" support - the system currently supports "AND" ...
    ... but yeah, adding "OR" will be a bigger deal.

    I'll run it by the devs and add it to the roadmap with your +1 though...

    Paul.

  • New Pricing based Studio

    Feature Suggestions
    2
    0 Votes
    2 Posts
    822 Views

    Hi Lee,

    brainCloud's pricing models are designed to accommodate changes in usage over time.

    Apps using Enterprise features in the Business/Business + plans are still allowed to access those features if they later downgrade to Standard or Lite plans. Note that the app will no longer be covered by the Business / Business Plus plan SLA though.

    I hope that helps!

    Paul

  • 1 Votes
    9 Posts
    3k Views

    @Brad-Hester That bug has been fixes (and patched). Thanks for reporting it!

  • Filter online players in Matchmaking

    Solved Cloud Code
    8
    0 Votes
    8 Posts
    3k Views

    Ciao @Paul-Winterhalder ,

    yes there is not much else to add, except perhaps the fact that the CompleteMatch is sent at the end of the game. Instead, AbandonMatch is sent if one of the players abandons the game prematurely.

    Thanks for the support! 🙂

  • Cloud Code not loading in Console

    Solved General
    2
    0 Votes
    2 Posts
    964 Views

    In case anyone else had a similar issue...

    There was a Cloudflare-related cert issue associated with a site called cdn.jsdelivr.net.

    As I understand it, the Monaco editor that Portal-X uses for editing source and JSON files (and many other common web-based components) makes use of that site.

    More details on the issue here: https://github.com/jsdelivr/jsdelivr/issues/18565

    The issue was temporary - and seems like it only affected only certain localized regions... (just a guess on my part there).

    Anyway - all good now - and nothing directly related to brainCloud.

    Paul.

  • [Unity] In App Purchases

    Solved APIs
    2
    0 Votes
    2 Posts
    1k Views

    brainCloud supports a wide range of popular in-app purchases, including Google Play, Apple, Facebook, Amazon, and Steam, etc.. In most cases, the purchase process is initiated through the corresponding IAP plugin that you need to download into your Unity project. Then, verify the receipt received from the purchase outcome with brainCloud by calling VerifyPurchase API. It should be noted that the necessary configuration for the IAP store must be set up in the brainCloud portal for your app, including the products section and platforms section. Some store integration examples are available on our documentation website -- https://docs.braincloudservers.com/learn/portal-tutorials/store-integration-google/
    Hope this helps!

  • 0 Votes
    5 Posts
    2k Views

    Diving into our new game and found a work-around ~ use private viewing. I have our reference game open in a private window, and the new project in the main one.

  • Memcache in Braincloud

    Unsolved General
    2
    0 Votes
    2 Posts
    864 Views

    Hi Nguyen,

    brainCloud makes use of both Memcached and Redis as part of it's architecture - but we do not directly expose these in our APIs.

    What was your use case?

    Paul.

  • Reconnect to room on a Relay Server

    Unsolved General
    30
    0 Votes
    30 Posts
    20k Views

    Ciao @Greg-Moulds,
    you rock boy! 🙂
    I tried reducing the "early" launch setting as you suggested and in fact now the waiting time is very short. That was exactly the problem.

    Thanks!

  • Huge Demo Release!

    Videos and Tutorials
    1
    2 Votes
    1 Posts
    2k Views
    No one has replied
  • 0 Votes
    7 Posts
    2k Views

    Thank you both for the helpful replies. I am educating myself further and exploring options. Depending on what I decide to pursue as the final option, I may be back 🙂

  • Tournament Rank Rule

    Solved General
    3
    0 Votes
    3 Posts
    1k Views

    Hi Paul,

    Yes this answers my question. I guess since the percentage is based on the number of players, I could query the number by checking how many entries there are in a given division leaderboard?

    In any case I'll stick to absolute ranks for now as you suggest. I was looking into percentages to future-proof our client API.

    Thank you for the quick help!

  • 0 Votes
    5 Posts
    2k Views

    All very good points @Panagiotis-Milios !

  • 1 Votes
    4 Posts
    1k Views

    Hi Panagiotis,

    Thanks for the feedback!

    That vertical icon bar on the far left is new in 5.2. It was key to allowing us to free up more space - moving the Debug + Log screens to their own pane. (i.e. now the screen is only ever split vertically in 2 - instead of sometimes split into 4 pains - 2 verticle and 2 horizontal).

    The font scale and tab size options were there before too - but are somewhat more discoverable now that we have that cog wheel.

    Glad you like the changes!

  • 0 Votes
    5 Posts
    2k Views

    There is a global list of reason codes here - https://docs.braincloudservers.com/api/appendix/reasonCodes

  • Unreal 5.1 + Online Services

    APIs
    4
    0 Votes
    4 Posts
    2k Views

    We should point out that this doesn't mean that there aren't Unreal multiplayer examples in brainCloud - they just don't use the online subsystem paradigm per se.

    Here's our latest Unreal dedicated server example: https://github.com/getbraincloud/braincloud-roomserver-unreal

  • 0 Votes
    2 Posts
    1k Views

    Hi Kuabs, you can use brainCloud webhooks to achieve this feature, the steps are as follows.

    Create a cloud code script, in this example use the name "webhook_forgotPassword", and paste the following code into the script. "use strict"; function main() { var response = {}; bridge.logDebugJson("Script inputs", data); var userEmail = data.parameters.email; response.stringResponse = "webhook is processing user email reseting..." + data.parameters.email; // validating the user email if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(userEmail)) { // checking if the email is existed in brainCloud users var context = { "pagination": { "rowsPerPage": 20, "pageNumber": 1 }, "searchCriteria": { "emailAddress": userEmail }, "sortCriteria": { "playerName": 1 } }; var userProxy = bridge.getUserServiceProxy(); var postResult = userProxy.sysGetPage(context); if (postResult.data.results.count > 0) { var userProfileID = postResult.data.results.items[0].profileId; // sending password reset email postResult = userProxy.sysSendPasswordResetEmail(userProfileID); if (postResult.status == 200) { response.stringResponse = "password reset email has been sent to user's email:" + userEmail; } else { response.stringResponse = "system error with sending email..."; } } else { response.stringResponse = "user doesn't exist with the email you provided"; } } else { response.stringResponse = "user's email is invalid."; } return response; } main();

    Open Design | Cloud Code | WebHooks page, and create a WebHook link to the script you created from the previous step. Copy down the WebHook URL for the next step.73ee4986-3d38-4694-bac5-d7c4896c99ba-image.png

    Now, you have completed the work from brainCloud. Next, open your client app editor (if you are using Unity), define the WebHook URL as a variable, and link it to your forgotEmail object (could be a link or button in your app) onClick event, making it trigger this URL when the user clicks with Application.OpenURL command. Grab user inputted email and append it as an email parameter to the URL as follows:

    const string passwordResetWebhookUrl = "https://portal.braincloudservers.com/webhook/12832/forgotPassword/6dc675bb-f8b4-495f-ac5e-1f0658bfe09c"; Application.OpenURL(passwordResetWebhookUrl + "?email=" + userEmail);

    Run your app to test, you should get a similar pop-up window as follows once a user clicks the forgotEmail object,
    94dd0dae-7d6e-44c8-ab26-0d57a8544bb4-image.png

    Check the reset email in your test email account...25a6f240-5246-4ba2-a216-e978eaccee8c-image.png