Infos about a multiplayer game-service / server / provider

Hey there.

Anyone knows a multiplayer gameserver provider?

To clearify:
I saw something at unity. There are assets/plugins which gives the Devs the easy possability to include multiplayer to their games without hosting an own server. Its an API/asset - called it like you want.

I am not talking about Playfab - but kind of. Playfab stores some data for you but for a multiplayer like shooters, strategy etc you need to share infos in realtime like P2P.

Anyone knows some free provider? Does defold maybe already have some APIs for us? Like the DefNet etc?

1 Like

Amazon Gamelift has a free tier, but you should have some cosmetic monetization in to at least break even on hosting costs.

http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-billing-alerts.html

I’ve not tested this by @britzl

It looks like to test you’ll need to edit the game.project file and add some keys you get from your aws console

[aws]
 access_key = put key here
 secret_access_key = put key here

I’ve still not tested it myself though.

1 Like

okay thanks.

Are they any other solutions?

PHOTON is one solution.
But not for LUA actually…

https://www.photonengine.com/en-US/sdks

Gamelift is good, but it mainly deals with how to spin up/down servers, join/leave game sessions and matchmaking. You need to provide your own server. Photon integrates with PlayFab but it’s not really a plug and play solution. If you’re doing a real-time multiplayer game you need to have a custom server component for game state validation. I’m not aware of any ready to use solutions for this. Does Unity really provide this? For what type of game? Is it free or paid?

2 Likes

What about Nakama from Heroic Labs?

The point 05 of the main page even says “Libraries that play nice with your existing stack for desktop, web, iOS, and Android — from Unity and Unreal to Defold

1 Like

There was a discussion about Nakama a while back, but I don’t recall if it ever resulted in anything. If you look closer and also check their GitHub I don’t see any Defold client.

1 Like

Hi @otapliger. We don’t have an official Defold client (yet) it’s something which I started but was blocked on protobuf3 support which was needed with Lua.

We’ve just completed the work to add a HTTP API directly to the game server which makes integration with many engines (like Defold) easier. You can grab the pre-release of the server from our Docker repo. Let me know if you need any help to get started.

Btw I’m one of the engineers at Heroic Labs. :smile:

8 Likes

Thanks @novabyte, I am looking for an easy to implement realtime multiplayer service as I will soon have a project that needs it and I don’t want to lose much time on research. If you have any example on how to integrate it like you have for Unity would be great… if you have enough time obviously

@britzl I know I could ask help here but I dont want to bother too much :slight_smile: I need something easy to implement as the only time I did multiplayer was with Unity and thanks to their popularity they have tutorials for everything

1 Like

@otapliger Depends on your experience with multiplayer engines. You can open a WebSocket, join a multiplayer match, and exchange relayed p2p messages between players in about a few hours from scratch with Nakama server.

If you want to build authoritative multiplayer matches you’d need to write your game loop in Lua (it’s the code runtime we embed within the server). Have you used other multiplayer solutions before?

1 Like

Did you check out Colyseus in our Asset Portal? It looks like it’s quite easy to get started with.

2 Likes

I didn’t. Thanks, I would check

1 Like

@novabyte yes, authorative multiplayer matches is the way I want to go. The only experience I have with multiplayer is with Unity using Photon and UNet.

No problem to write the game loop in Lua, I just need help on how to start. I mean, do you have an example on how the client send an input to the server and the server send the state back to the client? A hello world kind of example would be useful

1 Like

We don’t have documentation on the authoritative multiplayer engine yet but I’ll do my best to walk you through how to develop with it.

  1. Install the Docker daemon and use this Docker compose file. Run:

    docker-compose -f ./docker-compose.yml up

    This will setup a full working environment with Nakama server and the database engine. You can read more on the quickstart docs.

  2. You’ll see a folder created in the directory you ran the Docker Compose file from in the shell. The folder path is “nakama/data/modules”. The modules folder is where you put your Lua code modules.

  3. Write a match handler for the authoritative gameplay you want. Have a look here until we have complete documentation on it.

  4. Setup the client to connect with the server and create a match. We don’t have an official Defold client completed yet but I’ve put together a simple Groovy script which shows how you can authenticate, connect, and exchange messages with a match.

I’ll post again in this thread to let you know when we’ve got documentation available.

8 Likes