Backend Integration
Introduction
At WinZO, since real money of users is involved, game security is of primary importance. Ideally, we want all our games to be secure and server authoritative.
Server authoritative games are more secure than client authoritative games and require a backend that validates each player's moves.
Server authoritative games can be divided into -
Turn based games - games where players moves turn by turn. Examples - Ludo, Snakes & Ladder, Dominoes, Callbreak, Monopoly etc.
Individual games - games where each player individually plays their own game and winner is decided based on their scores at the end of match. Examples - Solitaire, Liquid Sort etc.
Real Time multiplayer games - these are physics simulation based games which require Unity headless to be run in backend - Examples - Carrom, Snake.io etc.
Types of Integrations
Currently, WinZO supports two kinds of server code integration -
ZO-Stack integration
Studio backend integration
ZO-Stack Integration -
ZO-Stack is WinZO's own backend framework. Developers need to write the game logic code in Typescript using interfaces and helper functions defined in ZO-Stack.
Real time physics based games are currently not supported in ZO-Stack and thus need to be integrated with Studio backend integration.
Studio backend integration -
In Studio backend integration, developers are free to choose any backend framework of their choice. They will need to make a few API calls to WinZO for getting the game config or sending the final result information in the end.
Server management is done by the Studios and cloud hosting on AWS is usually preferred.
Game Integration Matrix
Many things like Match Making, authorisation etc. are managed by WinZO backend and developers only need to worry about the game logic.
Below is a game integration matrix which highlights how responsibility is distributed between WinZO and the Studio for the two kind of integrations mentioned above -
ZO-Stack Integration | Studio backend Integration | |
---|---|---|
Match Making | WinZO | WinZO |
User Authorisation | WinZO | WinZO |
Wallet Credit/ Debit | WinZO | WinZO |
Leaderboard | WinZO | WinZO |
Past Results | WinZO | WinZO |
Server Management | WinZO | Game Studio |
Socket Connection/ disconnection | WinZO | Game Studio |
Game Logic | Game Studio | Game Studio |
Last updated