Skip to main content

Integration Test Tool for Tenants

· 3 min read
Seren
Engineer@Nautilus Games

Why Do Tenants Need an Integration Test Tool?

As tenants transition from a demo environment to a live environment, it’s critical to ensure that their API integrations with the service provider work seamlessly. This is especially vital for games involving betting and payouts, where accuracy and reliability are paramount to maintaining game integrity and user trust.

The Integration Test Tool is designed specifically to help tenants validate key API integrations related to betting and payouts. It ensures that:

  • The betting process runs without errors and prevents invalid bets.
  • The payout process distributes winnings correctly based on the rules of the game.

Key Scenarios for Testing

The Integration Test Tool focuses on four essential scenarios: player verification, wallet retrieval, betting, and payout. Each scenario targets a critical area of gameplay functionality:

Test Cases

  1. Verify Player: Validates that the player authentication process correctly verifies players before they can take any action within the game.

  2. Get Wallet: Tests the retrieval of the player’s wallet, ensuring that the balance and available funds are displayed accurately.

  3. Bet: Ensures players cannot place bets exceeding their available balance, and that valid bets are processed correctly.

  4. Payout: Confirms that payouts are accurate for various game outcomes, including jackpots, normal rolls, free rolls, and bonus rolls.

Using the Integration Test Tool

To get started with the Integration Test Tool, follow these steps in the Back Office:

  1. Access the Tool:
    Navigate to the Tools section in the Back Office and select Integration Test.

    Integration Test Tool in the Back Office

  2. Prepare a Player Account:
    Before running any tests, ensure you have a player account ready with a balance of at least 500,000 to cover all test scenarios.

  3. Select Game Types:
    Choose the game types you want to test. The available options are:

    • Slots
    • Table
    • Fish
    • Sport
    • Lottery
    • Arcade
  4. Enter Player Token:
    Input the player token associated with the player account. Each game requires its own token. For instance, when testing a Slots game, you’ll need the token from the slot01 game. Tokens are not interchangeable between different game types.

  5. Start the Test:
    After selecting the game type and entering the player token, click Start Testing. The test usually completes within 10 to 20 seconds.

  6. View Test Report:
    Once the test concludes, a detailed report will be generated. This report will highlight:

    • Next to Fix: Lists any APIs that require further inspection or adjustments.
    • Test Report Table: Displays the expected versus actual outcomes for each test case, helping you pinpoint any discrepancies.

Case Failures

Below is a selection of failed test cases encountered during API integration tests. This list highlights specific instances of failures and is not exhaustive.

Example 1: Payout for Finish Roll

Expected Result:

  • ErrorCode should be 0.
  • The balance should be 897,530.

Actual Result:

  • The balance returned was 897,520, causing a discrepancy of 10.

Need to Fix:

  • The balance calculation needs to be corrected to ensure accurate payout processing.

Payout Error Example

Example 2: Bet When Player Rolls

Expected Result:

  • ErrorCode should be 0.
  • The balance should be 898,940.

Actual Result:

  • The balance returned was 898,930, causing a discrepancy of 10.

Need to Fix:

  • The balance calculation needs to be corrected to ensure accurate bet processing.

Bet Error Example

These examples illustrate specific discrepancies that have occurred during API integration tests. Addressing these failures is crucial to maintaining the integrity and reliability of the gaming experience.

Retry Mechanism For Reliable Systems

· 3 min read
Tony
Engineer@Nautilus Games

Why Do We Need To Have A Retry Mechanism?

As a game provider, occasionally failure can happen when our system makes a call to a tenant's backend service via the webhooks. These failures can come from a variety of factors. They include servers, networks, software, transient error, or event mistakes from system operators. So we support retry mechanism to reduce the probability of failure and ensure that the game session continues as intended.

Where Do We Setup Retry Mechanism?

Retry With Sidecar In Service Mesh

  • We use Envoy as a Sidecar Proxy and configure retry on it
info

Although some http client libraries also provide a retry mechanism out of the box. But implement retry mechanism right & effectively not easy, and need to make sure every single games have to follow the same rules of retry take time & effort. So we decided to let the Envoy Proxy handle that part.

Retry mechanism in sequence diagram

Overall Flow

Some configuration in Envoy

NameValueDescription
retry_on5xx,gateway-error,connect-failure,resetEnvoy will attempt a retry if the upstream server responds with any 5xx response code, or does not respond at all (disconnect/reset/read timeout).
num_retries4number of retries
retry_back_off.base_interval0.1sthe base interval to be used for the next back off computation
retry_back_off.max_interval1sspecifies the maximum interval between retries

Support Retry Manual From The Back Office

We also support tool to retry manual

You can check a list of failed transactions from this site. Pressing the retry icon on the right side allows us to try again. And please notice that not every transaction will be permitted to attempt again, just a few of those with valid case can do retry if you will.

Retry Manual Tool

Preview retry request before sending

Preview Retry

Retries history

Retries History

Retry Rules

Here are all of the HTTP code if our game facing will fall into the case of retrying:

CodeDescription
500Internal Server Error
502Bad Gateway
503Service Unavailable
504Gateway Timeout
1308Expired Tenant Player Token
1309Player Inactive

First Integration From Brother's Team

· 3 min read
Harry P
Engineer@AloPay

How we get started

Before choosing Nautilus Games as a partner for our platform, we had integrated with major industry players like SBO, PGSoft, and World Entertainment. Our expectations were high for a smooth and simplified process. We have been very pleased with the integration provided by Nautilus Games. Their support has been excellent, and their cutting-edge technology is highly impressive.

From the progress of the contract to the API integration, the Nautilus Games team has been productive in navigating all the scenarios we have encountered and will face.

Integration process

After completing our research on Nautilus Games, we decided to proceed. First, we contacted them to request integration. Their sales team promptly called back to confirm and guide us through the process. Once the contract was signed, we received an email with access to the Back Office site, where we created our account and generated API keys for Seamless Wallet mode. We also received a well-structured document for integrating the RESTful API. Onboarding Process Flow

After that, we began implementing our callback service for Seamless Wallet mode. The process was very straightforward, allowing us to easily integrate it with our system within a single working day. Nautilus Games also provides numerous features in their Back Office, enabling us to manage games and reports efficiently. Seamless Wallet Flow

From our side, the codebase for the integration is so simple. Webhook Codebase 1 Webhook Codebase 2

The Back Office site is user-friendly and makes our operator's staff work effortlessly. Webhook Codebase 1 Webhook Codebase 2

On the game client side, iFrame is the standard. We simply load the game's URL via the browser, and the game launches smoothly, ready for the player to enjoy. Game Play 1 Game Play 2

Summary

The good things

  • The process is very lightweight and straightforward.
  • Their support team is excellent, providing nearly real-time responses to our questions and concerns.
  • The iFrame is very smooth, and the server response time is low, enhancing our players' experience.
  • The data exchange between two systems are secured by TLS and OAuth2 protocol for authorization.

Things that need improvement

  • The well-structured document misses the important part of the session concept and its life cycle for the state management for the operator side.
  • A retry mechanism for handling failed client responses when the operator successfully responds to the data.
  • A signal for the end of a session.
  • A sandbox or mock service allows the operator to test their callback service independently, improving productivity.

Hello, World!

· 3 min read
Tada
Engineer@Nautilus Games

Welcome, operators! We are thrilled to invite you to integrate with our game provider platform. With our cutting-edge technology and extensive game portfolio, we offer a seamless integration experience that will enhance your online gaming offerings. By partnering with us, you gain access to a wide range of high-quality games, including slots, table games, and live casino options. Our dedicated team of experts is ready to assist you every step of the way, ensuring a smooth and successful integration process. Don't miss out on the opportunity to elevate your gaming platform with our top-notch games. Contact us today to get started! At our game provider platform, we extend a warm welcome to all operators looking to integrate with us. With our state-of-the-art technology and extensive game portfolio, we offer a seamless integration experience that will undoubtedly enhance your online gaming offerings.

By partnering with us, you gain access to a wide range of high-quality games that are sure to captivate your players. From thrilling slots to engaging table games and immersive live casino options, our diverse collection has something for everyone. We take pride in curating a selection that meets the demands of today's discerning players.

But it's not just about the games. Our dedicated team of experts is committed to supporting you every step of the way. We understand that a successful integration process is crucial, and we're here to ensure that it's smooth and hassle-free. Whether you need technical assistance, guidance on game selection, or marketing support, our team is ready to provide the expertise you need.

We believe in building strong partnerships based on trust and collaboration. When you choose to integrate with us, you become part of a community that values your success. We are invested in your growth and are committed to helping you achieve your goals. Our team will work closely with you to understand your unique requirements and tailor our solutions to meet them.

In addition to our exceptional games and dedicated support, we also offer competitive commercial terms. We understand the importance of a mutually beneficial partnership, and we strive to provide you with the best possible value. Our flexible pricing models and revenue-sharing options ensure that you can maximize your returns while offering your players an outstanding gaming experience.

Don't miss out on the opportunity to elevate your gaming platform with our top-notch games and unparalleled support. Contact us today to get started on your integration journey. Our team is excited to discuss how we can collaborate and help you take your online gaming offerings to new heights.

Join us and experience the difference of partnering with a game provider that truly understands your needs. Together, we can create an exceptional gaming experience that will keep your players coming back for more. Let's embark on this integration journey together and unlock the full potential of your gaming platform.

N11s Engineers,