Forums are live!

By popular demand, we are pleased to announce that our new forums are live!

There are 3 ways to get there:

  • Choose Visit brainCloud Forums on the Team | Start Page of the Portal
  • Choose Forums from the DOCS menu at the top of the Portal
  • Enter forums.getbraincloud.com into your browser

Once you are there, click Login in the top right corner – it uses your regular brainCloud login.

Come on over and introduce yourself! The forums are far too clean and tidy right now – lets mess things up!

Release 4.0 is live!

Release Highlights

RTT Official Launch!

With 4.0, we officially take the beta label off of RTT, and release it to the world!

As you know, RTT adds a bi-directional channel for real-time communications to the brainCloud platform, greatly expanding the types of experiences that can be delivered without additional tech.

The list of great new features that RTT has already enabled includes:

  • Real-time Events
  • Online Chat
  • Real-time Messaging
  • Online Matchmaking
  • Lobbies

For 4.0 we are pleased to add:

  • Async Matches
    • we’ve RTT-enabled Async Matches. So now you can use the Async API in real-time! (Don’t worry, you can still use it offline if you would like).
    • Oh, and while we were at it, we’ve made async matches automatically delete themselves after 90 days. So your apps no longer have to do the cleanup manually if they don’t want to.
  • Integrated Hosting
    • we have integrated our new Hosting features with our RTT Lobby service

Plus we have officially launched our RTT-enabled Plus subscription plans that make these great features available at all usage levels.

Hosting (beta)

Did we mention hosting?

In brainCloud 3.8, we introduced support for custom Room Servers (i.e. game or experience servers) that integrate with our Lobby Service for matching up users.

The cool thing is that you have full freedom to custom code your Room Server yourself, in any technology. The not-as-cool thing was that you had to host (or arrange for hosting) of the servers yourself, plus you also had to code up a Room Server Manager, for us to integrate with (it was responsible for spinning up your servers and managing them). Suffice to say, that’s a bit more complicated than most people want.

So for 4.0 we’re pleased to announce that we can host your custom Room Servers for you – all managed by our built-in Room Server Manager. It’s truly as simple as giving us the name of the Docker image to use for your service. We handle the rest, spinning up servers and containers as needed – and charging you for the server cycles used.

Relay Servers (beta)

Even simpler than hosting a custom-built Room Server, is hosting our new built-in Relay Servers!

We have used our new RTT + Hosting infrastructure to add built-in Relay Server support to brainCloud.

Now building a real-time or near-real-time multiplayer experience on brainCloud is as simple as:

  • Configure the relay servers on the new Design | Cloud Code | My Servers page
  • Connect the relay server to your lobby via the Design | Multiplayer | Lobbies page
  • Utilize our new Relay Communications APIs in your Unity apps!  (note – Unreal and other libraries will be supported soon!) 

New Billing Plans

With all this new infrastructure, there has to be some way to pay for them! Sorry! 🙂

But it’s not all bad news. Not only have we launched new Plus plans that add support for RTT and Hosting, but we are also introducing new lower-cost Lite plans! Plus we have significantly lowered the API usage costs (as you scale up) across all plans!

Also note that we have added a new Development Plusplan, which is a $5 / month plan that gives your apps in development access to Hosting features (i.e. hosted Room Servers and Relay Servers).

For full details on our updated billing plans, see our billing announcement.

And a bunch more!

And that’s not even all of it. brainCloud 4 also brings:

  • [New!] brainCloud Bombers RTT
    • Our new example game fully demonstrates RTT and Relay Servers
    • Play it on Steam!
  • [New!] Forums!
    • brainCloud now has forums for our development community. Check them out here!
  • [Updated!] Tic-Tac-Toe example
    • Now supports the new RTT-enabled Async Match API
  • DataStream Enhancements
    • Our DataStream service now pushes more events, including:
      • Tournament events
      • Group events
      • Chat events
      • Lobby Events
  • Updated Facebook Integration
    • We now support Graph API 2.9

And be sure to check the API Changes below for a smattering of new APIs.  


Portal Changes

We’ve made the following updates to the portal:

Team

  • Home | Start
  • Manage | Apps
    • Go Live! reworked to support the new V4 billing plans
    • New Change Plan action menu item allows you to dynamically swap the plan for your app at any time
    • To terminate service for your app, just choose Delete from the action menu. The system will now automatically expire your subscription. You will be invoiced at the end of the month, on a pro-rated basis, for the amount of service your app used.
    • We have also added a new Plan column to the display to make it easier to tell exactly which plan your app is using

Design

  • Core App Info | Advanced
    • Restore Checkpoints – brainCloud creates a checkpoint each time you deploy to an app and/or import to it. This new feature allows you to easily restore an app’s meta-data to a recent checkpoint.
  • Authentication | Email Authentication
    • brainCloud can now send confirmations to users after they have successfully changed their passwords. Configure the emails here.  
  • Cloud Code | My Servers
    • This is the screen formerly known as “S2S Config”
    • The screen has been expanded to support the configuration of multiple server types:
      • Custom Servers – these are the old S2S Configs-style servers
      • Relay Servers – deploy your own set of brainCloud Relay Servers
      • Room Servers – configure brainCloud to host your custom Room Server images
      • Room Server Managers – for integrating with a custom-developed, externally-hosted Room Server Manager
  • Multiplayer | Lobbies
    • Room Server selection updated to use the new My Servers configurations (instead of referring to servers from Web Services, which 3.X did) 

Monitoring

  • User Monitoring | User Summary
    • You can now trigger the sending of a password reset email to Universal Identity users (if they have a contact email stored against their profile). Click the mail button to send.
  • User Monitoring | Recent Users
    • The New column has been replaced by a new “Logins” column – which shows the number of times that user had logged in. Much more informative!

Reports

  • Reporting | Analytics
    • We have added a new section that reports the # of Dormant Users in your app. Dormant Users are defined as users who have not logged into your app in 180 days.
  • Reporting | API Usage
    • We have added new RTTand Hosting usage statatistics

General

  • DOCS top menu
    • We’ve added a Forums link to the DOCS menu. Hmm, maybe we should rename the menu to HELP?

API Changes

Important: The 4.0 libraries (especially Unity) contain changes that will be breaking for some apps. See this blog post for migration instructions. As always, the older libs continue to work for existing apps. We recommend all devs upgrade at their earliest convenience. 

The following changes/additions have affected the brainCloud API:

  • Authentication
  • Cloud Code Bridge
  • Global Statistics
    • Support for new MIN and MAX operations. Very useful for keeping track of the personal high scores of a player. For details, see the updated Statistics Grammar page.
  • Lobby
    • New CancelFindRequest() cancels an asynchronous FindLobby request.
    • New JoinLobby() call allows a user to skip matchmaking and immediately join the specified lobby instance (potentially with party members).
  • Player Statistics
    • Support for new MIN and MAX operations. For details, see the updated Statistics Grammar page.
  • RTTService

We have also deprecated the following methods:

  • Wrapper
    • Removed the deprecated singletonmode
    • Removed EnableRTT(), RegisterRTTChatCallback(), etc. – and moved them to the RTT Service
  • Client
    • Removed EnableRTT(), RegisterRTTChatCallback(), etc. – and moved them to the RTT Service

Finally, a few miscellaneous changes have been made:

  • We are now wrapping all 3rd party libraries in a brainCloud namespace in the Unity / C# libraries
  • We have renamed the Settings plugin in the Unity library

For more details and migration steps, see the V4 Client Changes blog post.


Miscellaneous Changes / Fixes

  • Updated libraries
    • All libraries have been updated to include all 4.0 APIs, with the exception of the Relay Service
    • The new Relay Service APIs are currently available in the Unity / C# libraries only. Unreal + other libraries will follow soon.
  • Documentation updates
    • TBC
  • Important Fixes
    • BCLD-4679 – Duplicate leaderboard config issues (leaderboard Duplicate, new “MOCK” division set instance creation) if Enrol or Announcement minutes and called when rotation minutes remaining < (Enrol + Announce + Buffer) minutes
    • BCLD-4651 – Permissions issue with groups – ReadGroup() vs. ReadGroupData() with other=1
    • BCLD-4415 – [Documentation] – More documentation support for the parameter ‘isOpenGroup‘ for the ‘AutoJoin’ operation
    • BCLD-4650 – Issue in the UpdateGroupACL cloud code proxy
    • BCLD-4645 – UK Area code is missing from Authy
    • BCLD-4494 – Add documentation for ‘UpdateEntityIndexedId’ call in both API and S2S Explorer in the API Reference Docs.
    • BCLD-4524 – Add Server Session support for Leaderboard Service operations that are currently only supported for Player Session
    • BCLD-4337 – Sending null match state on create Async Match should not clobber the summary!
    • BCLD-3192 – ‘GetSharedEntityForProfileId’ returns positive log response without entering the profileID
    • BCLD-4307 – Improve speed of ChildEntity – UpdateEntity using updateFields instead of update
    • BCLD-4293 – Operations are not alphabetized on the APIHooks screen – should be
    • BCLD-3250 – PostScoreToLeaderboard has wrong name in Javascript example
    • BCLD-3232 – Client API – ‘ReadServerTime’ Operation returns a definite response, despite entering incorrect app ID
    • BCLD-4483 – DataStream Push Notifications – new safe mode to reduce excessive DataStream-related usage charges
    • BCLD-4499 – PostTournamentScoreWithResults is missing in the Unreal Client
    • BCLD-4503 – resetCurrency is missing from the virtual currency service
    • BCLD-4448 – Defect being seen in async match profile urls
    • BCLD-4498 – If a company is in a Suspended state, they are unable to edit their billing information to get out of that state…
    • BCLD-4488 – User can create Leaderboards with spaces and special characters using the ‘CreateLeaderboard’ API call
    • BCLD-4449 – User can create Leaderboard with spaces and special characters using the ‘PostScoreToDynamicLeaderboard’ API call.
    • BCLD-4454 – StartTime matches Registration time for Monthly Tournament in ‘GetTournamentStatus’ call
    • BCLD-4228 – API: Updated player names and picture urls not reflected in turn-by-turn match summary
    • BCLD-4358 – Inconsistency between comms initialize parameter order and wrapper order for java android and desktop
    • BCLD-3200 – JSON error when saving a quest with an already existing name
    • BCLD-4268 – Attaching an email identity overwrites an exisiting contact email
    • BCLD-3470 – Monitoring -> Global Entities -> Bulk options -> Export should be disabled when there are no global entites for the app
    • BCLD-4294 – Missing data in the new AppStore VerifyPurchase() call…
    • BCLD-2788 – Portal: deleting an image in [Achievements] without saving the achievement causes a missing image
    • BCLD-3968 – Errors handing $and in Where clauses
    • BCLD-3969 – getRandomEntitiesMatching sometimes returns 0 items for max 1, even when items match
    • BCLD-3977 – Log processor is incorrectly attributing mongo log collection write failures (too to large log sizes) to a particular app
    • BCLD-3927 – Clicking on resetpassword email link twice gets user to a valid looking reset password screen
    • BCLD-4111 – Design Portal should not be able to configure invalid Steam product info
    • BCLD-4105 – Add the missing readUserStatsSubset() cloud code method
    • BCLD-4108 – Global Entities: allow filtering and sorting on entityId, version, and expiresAt
    • BCLD-3989 – File Storage being reported on the API Usage page appears to always show 0.0
    • BCLD-4118 – When we do a SwitchToChildProfile(), we should add a login log entry for the child profile
  • Plus miscellaneous fixes and performance enhancements…

V4 is coming!

Overview

The release of brainCloud 4 is right around the corner! It is a big one, so we are going to release it in pieces. Here is da plan:

Part 1 – Platform & Billing Plan Updates

The server platform will be updated first. We are targeting the week of May 20th! (this week!)

New & Updated features include:

  • Official RTT release
  • Room Server Hosting
  • Relay Servers
  • RTT-enhanced Async Matches
  • And more!

In addition, our new updated Billing Plans will go live with this update as well. More info here!

Part 2 – Client Updates, New Examples and Sites

The following component updates will roll-out over the 7-10 days that follow:

  • Updated client libraries – our new libs are 99% backwards compatible – but we have made some changes to improve things for the future. Don’t worry – the older clients still work of course! 
  • Bombers RTT – pure brainCloud end-to-end! Utilizes new Relay Servers! 
  • Tic Tac Toe RTT – our Tic Tac Toe example updated to use the new RTT-extensions to our Async-match APIs!
  • Updated docs – updated for the latest APIs and examples
  • Forums – By popular demand, brainCloud is introducing developer forums!
  • Roadmap – Another popular request – our new Roadmap site will allow you to see what we’re working on, give feedback, and even make suggestions!

Stay tuned. We will be posting the full Release Notes for V4 soon!

brainCloud 4 Billing Plans

The Plan plan

brainCloud 4 is fast approaching – and it is bringing a slew of new capabilities to the platform, including the official release of RTT (Real-time events, Chat, Messaging, Online Matchmaking, Lobbies, Presence and more!) as well as brand-new Hosting capabilities (Relay Servers and Room Servers).

As these new capabilities bring additional costs to running our infrastructure – we will be introducing revised pricing plans in coordination with brainCloud 4.

The good news is that if you aren’t using these features, nothing much changes — in fact, we’ve revised the API pricing tiers downward, so your overall costs should go down!

For the folks taking advantage of these great new capabilities, we have added new Plus plans, and have worked hard to keep the pricing reasonable and in-line with the costs to provide the service.

We are also introducing new discounted Lite plans – perfect for apps with lower usage requirements.

V4 Plans

When 4.0 launches, the new plan lineup will look like this:

  • Development (Free) – access to all features, except hosting. Limited to 100 DAU, 1000 accounts. Includes 10 CCx.
  • Development Plus! ($5 /month) – All features, including hosting. Limited to 200 DAU, 2000 accounts. Includes 20 CCx.
  • Lite ($15 /month) – Core features. Includes 1M API.
  • Lite Plus ($25 /month) – Core features + RTT + Hosting. Includes 1M API, 50 CCx.
  • Standard ($30 /month) – Core features. Includes 6M API.
  • Standard Plus ($50 /month) – Core features + RTT + Hosting. Includes 6M API, 100 CCx.
  • Business ($99 /month) – Core + Enterprise features. Includes 10M API.
  • Business Plus ($199 /month)All features. Includes 15M API, 250 CCx.
    We are confident that we have a plan to fit every app!

API Usage

As we were putting together our new set of plans, we decided to simplify and standardize the API Usage Tier Pricing.

All V4 plans use the same discounting tiers as they scale (it used to differ by plan). So no matter what plan you start with, as you get to 15M total API calls for the month, the cost per M drops to $10.00.

One side effect of this standardization is that the cost of additional usage for Business Plan customers now starts at $10.25 / M API, instead of $10.00 / M API from the old plan. To make up for this, we have bumped up the Business Plan to include 10M API for free (instead of 9M) – so it is a net win.

We have also made our API Usage pricing tiers more aggressive. In the old plans, you needed to hit 300M+ API calls to get to $9.90 / M pricing. In the new plans, we drop the price to $9.75 / M API at just 25M+ API calls.

We have accelerated the API discounting across the board, resulting in savings of 5-10% at high usage levels.

New Plus Plans

The new Plus plans make RTT and Hosting features available to apps at all usage levels.

Features available to Plus plans include:

  • Async Match with RTT
  • Chat
  • Lobbies
  • Online Matchmaking
  • Presence
  • Real-time Events
  • Real-time Messaging
  • Relay Server Hosting
  • Room Server Hosting

And more!

We have worked hard to keep the incremental costs of the Plus plans low – so that as many developers as possible can integrate these great new features into their apps.

Note – Plus plans are subject to RTT Usage and Hosting Usage costs. More details in the sections that follow.

New Lite Plans

A frequent request has been for lower-cost, lower-usage plans.

We are pleased to present our new Lite and Lite Plus plans. These plans offer the all the same features as their Standard plan equivalents, but at lower 1M API usage levels.

These plans, which start at just $15 and $25 /month respectively, are great for indie developers, the development of smaller experimental apps, and even for more ambitious apps in the long-tail phase of their product lifecycle.

RTT Usage

brainCloud’s RTT features require a nailed-up TCP or WebSocket connection for every client device. The costs to brainCloud are in maintaining connections (CCx) from our servers, and delivering the millions of real-time events to your users as they participate in chat, messaging, lobbies, etc.

To account for this utilization, we simply convert these resources to API counts.

Every RTT plan comes with a number of Concurrent Connections (CCx) that are free per hour. For example, the Standard Plus plan includes 100 CCx. That means that a peak of 100 Users can be concurrently online without additional CCx usage fees. Assuming your average play session is 12 minutes, that might actually equate to 500 users per hour, or 12K users per day. And that’s if RTT is enabled for the full time that users are in your app. Optimize your app to only initialize RTT when you need it, and 100 CCx could equate to thousands of users per hour.

Above that, apps are charged at a rate of 10 API calls per CCx per hour. So – lets say your app was averaging double that – or 200 CCx. The additional costs would be 100 x 10 API/CCx x 24 hours x 30 days = 720,000 API counts. At ~ $10 / M API, that’s about $7.20 in usage.

The other component of RTT Usage is event delivery. RTT is great for chat and lobby operations – where one operation may fan out to dozens (or thousands) of recipients. That’s great functionality wise – but those deliveries can really add up!

The good news is that RTT is very efficient at delivering events – so we are charging at a bulk ratio of 1000:1 – that is, your app is charged just 1 API count for each 1000 events delivered!

Hosting Usage

brainCloud now supports hosting of Relay Servers and custom Room Servers. This really opens up the sort of experiences that can be accommodated in a pure brainCloud environment.

The good news is that you aren’t charged for API calls / messaging / etc to your hosted servers — even if the server is one of our Relay Servers (using our new Relay Protocol).

That said, we do of course need to pass along the cloud costs of hosting the servers, and the data transfer usage associated with it, from the cloud provider.

For pricing, brainCloud is simply marking up the hosting costs by 15%, and adding 1.5 cents per hour for managing the servers.

To help keep costs low, brainCloud will automatically spin up / down servers as required. There are a complete set of parameters that can be customized to allow Teams to fine tune the best balance between server cost and performance.

And those are the new plans!

Those are the billing changes for v 4.0.

We appreciate that brainCloud’s adherence to elastic pricing can seem a bit complicated. It is certainly more complicated than traditional per-MAU pricing. But in the great majority of cases, it is also much better value.

Our overall goal when designing our pricing models is to ensure that the pricing you are charged reflects the costs that we incur in providing the service.

We feel this approach aligns our interests. The more server resources your apps consume, the higher our costs, and the higher the price to you. But the more efficiently you can build your app, the lower our costs, and the lower the pricing for you. It’s win:win – and we are on the same side!

If you have any questions or feedback, please reach out to us via the Green Chat widget. We are always happy to hear from you!