# Game Design

**URL:** https://forum.heroiclabs.com/c/game-design/33.md?page=2

[Latest](https://forum.heroiclabs.com/latest.md) · [Categories](https://forum.heroiclabs.com/categories.md) · [Tags](https://forum.heroiclabs.com/tags.md)

**Page:** 3

---

## [Client Relayed Multiplayer : best way to validate match winner?](https://forum.heroiclabs.com/t/client-relayed-multiplayer-best-way-to-validate-match-winner/5228)

<div class="topic-metadata">

**Author:** [@SebSeb](https://forum.heroiclabs.com/u/SebSeb)\
**Replies:** 2\
**Last updated:** [July 13, 2024, 2:34pm UTC](https://forum.heroiclabs.com/t/client-relayed-multiplayer-best-way-to-validate-match-winner/5228 "2024-07-13T14:34:31Z")

</div>

Hello, Working on my first multiplayer game using Nakama so not sure what are the best or at least good practices. The game is a 1v1 turned based game which is not an authoritative game so it will use Client Relayed Mul…

---

## [Could Someone Help with Linking Charts and Scheduling with Nakama?](https://forum.heroiclabs.com/t/could-someone-help-with-linking-charts-and-scheduling-with-nakama/5385)

<div class="topic-metadata">

**Author:** [@aleena66](https://forum.heroiclabs.com/u/aleena66)\
**Replies:** 2\
**Last updated:** [July 13, 2024, 8:09am UTC](https://forum.heroiclabs.com/t/could-someone-help-with-linking-charts-and-scheduling-with-nakama/5385 "2024-07-13T08:09:06Z")

</div>

Hello everyone :wave: I am right now looking at nakama potential for an online game project and could use some advice on a few important points; on how to add charts and scheduling. I would like to add charts to trac…

---

## [Knowing the message queue size on server side](https://forum.heroiclabs.com/t/knowing-the-message-queue-size-on-server-side/492)

<div class="topic-metadata">

**Author:** [@danim](https://forum.heroiclabs.com/u/danim)\
**Replies:** 5\
**Last updated:** [July 12, 2024, 6:22am UTC](https://forum.heroiclabs.com/t/knowing-the-message-queue-size-on-server-side/492 "2024-07-12T06:22:12Z")

</div>

Hi there! I’m making some stress test on the server with authoritative matches and I’m getting some disconnections with no errors. I guess is due to message queue size, but I don’t have any access to it. Is it possible…

---

## [Understanding Storage Usage](https://forum.heroiclabs.com/t/understanding-storage-usage/2518)

<div class="topic-metadata">

**Author:** [@KittySkin](https://forum.heroiclabs.com/u/KittySkin)\
**Replies:** 3\
**Last updated:** [July 11, 2024, 3:40pm UTC](https://forum.heroiclabs.com/t/understanding-storage-usage/2518 "2024-07-11T15:40:55Z")

</div>

Hello everybody! Im starting working with Nakama and currently trying to understand some things. Im using Lua for language, and trying to get some stuff working. In the API explorer I seems to not being able to store …

---

## [Match player to the closest to the criteria](https://forum.heroiclabs.com/t/match-player-to-the-closest-to-the-criteria/5331)

<div class="topic-metadata">

**Author:** [@meet2play](https://forum.heroiclabs.com/u/meet2play)\
**Replies:** 4\
**Last updated:** [June 27, 2024, 8:58am UTC](https://forum.heroiclabs.com/t/match-player-to-the-closest-to-the-criteria/5331 "2024-06-27T08:58:06Z")

</div>

Hi, i have some questions regarding matchmaker and criterias, i have a game where players have to connect to other players in the same skill level. what i did before was like this, each player has a number which define…

---

## [Storage write rejected](https://forum.heroiclabs.com/t/storage-write-rejected/5399)

<div class="topic-metadata">

**Author:** [@hexun80149128](https://forum.heroiclabs.com/u/hexun80149128)\
**Replies:** 3\
**Last updated:** [June 27, 2024, 7:59am UTC](https://forum.heroiclabs.com/t/storage-write-rejected/5399 "2024-06-27T07:59:28Z")

</div>

I can confirm that the version passed in StorageWrite is identical to the version of the corresponding entry in the database, yet it still reports this error. Why? @sesposito {“level”:“debug”,“ts”:“2024-06-27T07:22:58.9…

---

## [Nakama Google In-App Purchase Validation](https://forum.heroiclabs.com/t/nakama-google-in-app-purchase-validation/5371)

<div class="topic-metadata">

**Author:** [@lichengz](https://forum.heroiclabs.com/u/lichengz)\
**Replies:** 10\
**Last updated:** [June 19, 2024, 5:11pm UTC](https://forum.heroiclabs.com/t/nakama-google-in-app-purchase-validation/5371 "2024-06-19T17:11:08Z")

</div>

Hello, May I ask a question about an error message I got when trying to validate a Google In-App Purchase? I’m using Unity client and call Client.ValidatePurchaseGoogleAsync to valiadatee the receipt. Here‘s the recei…

---

## [How to Improve Game Performance and The back end Accuracy with Nakama](https://forum.heroiclabs.com/t/how-to-improve-game-performance-and-the-back-end-accuracy-with-nakama/5365)

<div class="topic-metadata">

**Author:** [@aleena66](https://forum.heroiclabs.com/u/aleena66)\
**Replies:** 0\
**Last updated:** [June 18, 2024, 9:57am UTC](https://forum.heroiclabs.com/t/how-to-improve-game-performance-and-the-back-end-accuracy-with-nakama/5365 "2024-06-18T09:57:37Z")

</div>

Hello everyone :smiling\_face\_with\_three\_hearts: I have recently started using Nakama for my game programming project; and I am hoping to improve the performance of the game and backend accuracy. I am interested in meth…

---

## [How to best implement a sorted list of JSON data accessible for all players to submit to multiple times?](https://forum.heroiclabs.com/t/how-to-best-implement-a-sorted-list-of-json-data-accessible-for-all-players-to-submit-to-multiple-times/5320)

<div class="topic-metadata">

**Author:** [@Arceryz](https://forum.heroiclabs.com/u/Arceryz)\
**Replies:** 1\
**Last updated:** [June 17, 2024, 11:35am UTC](https://forum.heroiclabs.com/t/how-to-best-implement-a-sorted-list-of-json-data-accessible-for-all-players-to-submit-to-multiple-times/5320 "2024-06-17T11:35:12Z")

</div>

I am working on a webGL game where anyone that plays the game (anonymously) can submit a piece of text/content to be placed in the world for everyone to see. When a new piece of text is submitted, any player that is clos…

---

## [Going Live](https://forum.heroiclabs.com/t/going-live/5353)

<div class="topic-metadata">

**Author:** [@Carl\_Mageddon](https://forum.heroiclabs.com/u/Carl_Mageddon)\
**Replies:** 1\
**Last updated:** [June 16, 2024, 10:49am UTC](https://forum.heroiclabs.com/t/going-live/5353 "2024-06-16T10:49:15Z")

</div>

Greetings everyone! My game is almost at release stage. It’s a competitive turn-based multiplayer for 2 players with authorative short matches, about 5 minutes lenght. Tick-rate is 1 second. Each match ends with a serve…

---

## [Selecting authoritative host after matchmaker matched players](https://forum.heroiclabs.com/t/selecting-authoritative-host-after-matchmaker-matched-players/5281)

<div class="topic-metadata">

**Author:** [@Sitiana](https://forum.heroiclabs.com/u/Sitiana)\
**Replies:** 4\
**Last updated:** [May 31, 2024, 2:23pm UTC](https://forum.heroiclabs.com/t/selecting-authoritative-host-after-matchmaker-matched-players/5281 "2024-05-31T14:23:19Z")

</div>

Hello Friends! I’m using Nakama in Unreal Engine. I’m trying to achieve following logic flow: Match players (normal matchmaking functionality) From matched players select one to be a host Host creates Steam session (o…

---

## [Socket.RpcAsync vs. Client.RpcAsync](https://forum.heroiclabs.com/t/socket-rpcasync-vs-client-rpcasync/831)

<div class="topic-metadata">

**Author:** [@codedrunk](https://forum.heroiclabs.com/u/codedrunk)\
**Replies:** 6\
**Last updated:** [May 15, 2024, 3:55pm UTC](https://forum.heroiclabs.com/t/socket-rpcasync-vs-client-rpcasync/831 "2024-05-15T15:55:01Z")

</div>

I’m using Nakama in .Net/Unity application to build a mobile application. My question is: do Nakama.Socket.RpcAsync and Nakama.Client.RpcAsync have the same functionality? Which one is recommended to use? I’m a game de…

---

## [Check whenever a player is in a match or not](https://forum.heroiclabs.com/t/check-whenever-a-player-is-in-a-match-or-not/5257)

<div class="topic-metadata">

**Author:** [@meet2play](https://forum.heroiclabs.com/u/meet2play)\
**Replies:** 1\
**Last updated:** [May 15, 2024, 3:52pm UTC](https://forum.heroiclabs.com/t/check-whenever-a-player-is-in-a-match-or-not/5257 "2024-05-15T15:52:49Z")

</div>

Hi, i have a section in my game that gets all the online users, from there you can send them challenge requests and ask them to play with you, the thing is i want to only filter the users that are on the app and doing n…

---

## ["Handoff" from authoritative pregame lobby to client-relayed main gameplay? How?](https://forum.heroiclabs.com/t/handoff-from-authoritative-pregame-lobby-to-client-relayed-main-gameplay-how/5244)

<div class="topic-metadata">

**Author:** [@pobqod](https://forum.heroiclabs.com/u/pobqod)\
**Replies:** 2\
**Last updated:** [May 9, 2024, 1:00am UTC](https://forum.heroiclabs.com/t/handoff-from-authoritative-pregame-lobby-to-client-relayed-main-gameplay-how/5244 "2024-05-09T01:00:40Z")

</div>

I’m using Godot 4.2.1-stable Linux, Nakama 3.21.1, and the nakama-webrtc godot addon. The game I’m trying to make is real-time competitive multiplayer with 2, 4, 6, or 8 players (2 teams). I have followed along with th…

---

## [Guidance on Using Nakama for a PvE-Focused 2D Platformer with Casual PvP Elements](https://forum.heroiclabs.com/t/guidance-on-using-nakama-for-a-pve-focused-2d-platformer-with-casual-pvp-elements/5218)

<div class="topic-metadata">

**Author:** [@JustKira](https://forum.heroiclabs.com/u/JustKira)\
**Replies:** 1\
**Last updated:** [April 30, 2024, 3:57am UTC](https://forum.heroiclabs.com/t/guidance-on-using-nakama-for-a-pve-focused-2d-platformer-with-casual-pvp-elements/5218 "2024-04-30T03:57:49Z")

</div>

Details: As an indie developer team of three using Godot 4, we’re developing a 2D platformer primarily focused on PvE with casual PvP elements (1v1 for fun). We are considering Nakama for our multiplayer backend and have…

---

## [Send a message to all players before the server restarts](https://forum.heroiclabs.com/t/send-a-message-to-all-players-before-the-server-restarts/5214)

<div class="topic-metadata">

**Author:** [@totebo](https://forum.heroiclabs.com/u/totebo)\
**Replies:** 2\
**Last updated:** [April 29, 2024, 3:35pm UTC](https://forum.heroiclabs.com/t/send-a-message-to-all-players-before-the-server-restarts/5214 "2024-04-29T15:35:56Z")

</div>

I’m trying to figure out if there is a way to send a message to all players notifying them that the server is about to restart. It’s possible to intercept a server restart with the match\_terminate() function, but in my …

---

## [Match\_terminate isn't called when server gracefully shuts down (SOLVED)](https://forum.heroiclabs.com/t/match-terminate-isnt-called-when-server-gracefully-shuts-down-solved/5212)

<div class="topic-metadata">

**Author:** [@totebo](https://forum.heroiclabs.com/u/totebo)\
**Replies:** 0\
**Last updated:** [April 26, 2024, 4:48pm UTC](https://forum.heroiclabs.com/t/match-terminate-isnt-called-when-server-gracefully-shuts-down-solved/5212 "2024-04-26T16:48:07Z")

</div>

Update: I was able to fix this by changing the docker-compose.yml entrypoint from entrypoint: - "/bin/sh" to entrypoint: - "/bin/bash" It might be worth updating the documentation, linked below, to refl…

---

## [Authoritative Server vs Relayed Server Efficiency](https://forum.heroiclabs.com/t/authoritative-server-vs-relayed-server-efficiency/5201)

<div class="topic-metadata">

**Author:** [@Raanaya](https://forum.heroiclabs.com/u/Raanaya)\
**Replies:** 1\
**Last updated:** [April 23, 2024, 2:28pm UTC](https://forum.heroiclabs.com/t/authoritative-server-vs-relayed-server-efficiency/5201 "2024-04-23T14:28:27Z")

</div>

How similar is the efficiency between the 2 in terms of CPU usage and network load for a 1v1 game? The authoritative server would relay messages as soon as it gets them without checks on the content with a tick rate of …

---

## [Different SenderId on ListNotificationsAsync & socket.ReceivedNotification](https://forum.heroiclabs.com/t/different-senderid-on-listnotificationsasync-socket-receivednotification/4840)

<div class="topic-metadata">

**Author:** [@mrez9](https://forum.heroiclabs.com/u/mrez9)\
**Replies:** 1\
**Last updated:** [April 20, 2024, 2:09pm UTC](https://forum.heroiclabs.com/t/different-senderid-on-listnotificationsasync-socket-receivednotification/4840 "2024-04-20T14:09:20Z")

</div>

whenever an online player receive chat message from a channel that is not joined yet, receive this notification from socket.ReceivedNotification: Notification Received, code:-1, SenderId:\[otherPlayerUserId\], subject:\[ot…

---

## [Advice for data structure in Storage Engine with misc. filters](https://forum.heroiclabs.com/t/advice-for-data-structure-in-storage-engine-with-misc-filters/5160)

<div class="topic-metadata">

**Author:** [@Theo-Rapidfire](https://forum.heroiclabs.com/u/Theo-Rapidfire)\
**Replies:** 2\
**Last updated:** [April 11, 2024, 1:33pm UTC](https://forum.heroiclabs.com/t/advice-for-data-structure-in-storage-engine-with-misc-filters/5160 "2024-04-11T13:33:44Z")

</div>

Hi, I’d like some advice for how to structure my Storage Engine setup; I’m working on a fairly simple project that uses async battles against other (mostly) random opponents. It’s made up of just 2 RPC functions; one t…

---

## [Combination methods in multiplayer online turn-based games](https://forum.heroiclabs.com/t/combination-methods-in-multiplayer-online-turn-based-games/5152)

<div class="topic-metadata">

**Author:** [@dhforever](https://forum.heroiclabs.com/u/dhforever)\
**Replies:** 4\
**Last updated:** [April 8, 2024, 3:08pm UTC](https://forum.heroiclabs.com/t/combination-methods-in-multiplayer-online-turn-based-games/5152 "2024-04-08T15:08:28Z")

</div>

Hi Nakama, I’m creating a multiplayer match and allowing chat in it. But I don’t know how the logic is combined. Match + Party. Among them, Match for games and Party for text chat. Match: Match handles both games and …

---

## [RefreshToken won't change from Null and Session won't expire/refresh](https://forum.heroiclabs.com/t/refreshtoken-wont-change-from-null-and-session-wont-expire-refresh/5130)

<div class="topic-metadata">

**Author:** [@StudioParaNoya](https://forum.heroiclabs.com/u/StudioParaNoya)\
**Replies:** 5\
**Last updated:** [April 5, 2024, 10:59am UTC](https://forum.heroiclabs.com/t/refreshtoken-wont-change-from-null-and-session-wont-expire-refresh/5130 "2024-04-05T10:59:10Z")

</div>

Hi, I was trying to setup the username change feature in my game in Unity with Typescript and Postgres as language and db for Nakama. When I tried executing the code, the following error message appeared: ApiResponseEx…

---

## [Delay when a match starts caused by a large dictionary file](https://forum.heroiclabs.com/t/delay-when-a-match-starts-caused-by-a-large-dictionary-file/4984)

<div class="topic-metadata">

**Author:** [@totebo](https://forum.heroiclabs.com/u/totebo)\
**Replies:** 4\
**Last updated:** [April 4, 2024, 5:06pm UTC](https://forum.heroiclabs.com/t/delay-when-a-match-starts-caused-by-a-large-dictionary-file/4984 "2024-04-04T17:06:47Z")

</div>

In my game I use a dictionary to validate words sent to the client. The dictionary is ~2MB and loaded at runtime in the match init. This leads to a delay of a few seconds when a match is started. I use Lua. To reduce th…

---

## [Dispatcher still sends to player even after presence has been deleted](https://forum.heroiclabs.com/t/dispatcher-still-sends-to-player-even-after-presence-has-been-deleted/5105)

<div class="topic-metadata">

**Author:** [@StudioParaNoya](https://forum.heroiclabs.com/u/StudioParaNoya)\
**Replies:** 4\
**Last updated:** [April 3, 2024, 10:00pm UTC](https://forum.heroiclabs.com/t/dispatcher-still-sends-to-player-even-after-presence-has-been-deleted/5105 "2024-04-03T22:00:33Z")

</div>

I am currently tackling the leave feature in my game using TypeScript. The server correctly receives the message and deletes the corresponding presence using delete state.presences\[p.sessionId\]; However, the player stil…

---

## [Wondering how to connect more than two clients at a time](https://forum.heroiclabs.com/t/wondering-how-to-connect-more-than-two-clients-at-a-time/4968)

<div class="topic-metadata">

**Author:** [@mojoyup1528](https://forum.heroiclabs.com/u/mojoyup1528)\
**Replies:** 1\
**Last updated:** [April 3, 2024, 10:57am UTC](https://forum.heroiclabs.com/t/wondering-how-to-connect-more-than-two-clients-at-a-time/4968 "2024-04-03T10:57:10Z")

</div>

What I am trying to achieve is, say I log into one client and they are waiting for a match on the server. If another client does the same, they connect. Ok cool. But what if they are almost ready to join the game, and a …

---

## [6 characters Room ID](https://forum.heroiclabs.com/t/6-characters-room-id/5110)

<div class="topic-metadata">

**Author:** [@Shuin](https://forum.heroiclabs.com/u/Shuin)\
**Replies:** 2\
**Last updated:** [April 3, 2024, 10:56am UTC](https://forum.heroiclabs.com/t/6-characters-room-id/5110 "2024-04-03T10:56:13Z")

</div>

Just a simple question, is it safe use the first 6 character of the matchID as a Room ID since I think it is an uuid which I assume that having collision with same id would be a rare case? I’m aware that the shorter the …

---

## [Nakamo for an authoriative multiplayer game](https://forum.heroiclabs.com/t/nakamo-for-an-authoriative-multiplayer-game/5118)

<div class="topic-metadata">

**Author:** [@developer25](https://forum.heroiclabs.com/u/developer25)\
**Replies:** 0\
**Last updated:** [April 2, 2024, 9:10am UTC](https://forum.heroiclabs.com/t/nakamo-for-an-authoriative-multiplayer-game/5118 "2024-04-02T09:10:35Z")

</div>

Hi! Having previously developed a game that runs on a fully authoriative headless unity instance with networking, I’ve noticed that it is single threaded and not efficient to work with at all, and have some pretty bad l…

---

## [How to create a Unique Lobby Room Name](https://forum.heroiclabs.com/t/how-to-create-a-unique-lobby-room-name/5102)

<div class="topic-metadata">

**Author:** [@Shuin](https://forum.heroiclabs.com/u/Shuin)\
**Replies:** 2\
**Last updated:** [April 1, 2024, 3:32pm UTC](https://forum.heroiclabs.com/t/how-to-create-a-unique-lobby-room-name/5102 "2024-04-01T15:32:44Z")

</div>

Hi I’m new to Nakama, I would like to ask how to have a Unique Lobby Room Name in Nakama wherein if it’s created with that name, other players wouldn’t be able to create a room with that name. I already tried using Creat…

---

## [Multiple MatchHandler Flow](https://forum.heroiclabs.com/t/multiple-matchhandler-flow/5100)

<div class="topic-metadata">

**Author:** [@Shuin](https://forum.heroiclabs.com/u/Shuin)\
**Replies:** 1\
**Last updated:** [April 1, 2024, 1:15pm UTC](https://forum.heroiclabs.com/t/multiple-matchhandler-flow/5100 "2024-04-01T13:15:24Z")

</div>

Hi I’m new to Nakama, I just want to confirm if my idea is right for having multiple matchHandler with different tickrate. So let say I have a LobbyMatchHandler with tickrate of 1 and GameMatchHandler with tickrate of …

---

## [Updating only storage permission](https://forum.heroiclabs.com/t/updating-only-storage-permission/5096)

<div class="topic-metadata">

**Author:** [@devantti](https://forum.heroiclabs.com/u/devantti)\
**Replies:** 2\
**Last updated:** [March 30, 2024, 6:54am UTC](https://forum.heroiclabs.com/t/updating-only-storage-permission/5096 "2024-03-30T06:54:20Z")

</div>

I am creating game where users can create and share content. When user wants to share their creation they should not be able to edit it anymore. I have split storing creations to meta and data so when listing other peopl…

[Previous page](https://forum.heroiclabs.com/c/game-design/33.md?page=1)

[Next page](https://forum.heroiclabs.com/c/game-design/33.md?page=3)
