High-performance. Low-latency. And a privately-owned global network you can trust.
Website: www.i3d.net
Documentation: https://www.i3d.net/docs/one/odp/
You can launch your i3D.net instances right out of Idem's matchmaker (see player-based architecture). This saves you the effort of needing an own backend for your game. Simply let your players (game client) connect directly to Idem's matchmaker. Once we find a match, we will launch the game-server on your behalf on i3D.net and provide the connection details back to your player.
Setup
1. Preparing game-server
If you haven't already, follow the i3D.net documentation to setup your game-server image. We recommend you try launching the game-server thorugh their API and make sure it launches when being triggered, before progressing with integrating it into Idem.
2. Follow integration guide
Navigate to player-based architecture and follow the guide there. Step (a) "Setup your game-server" you have already completed with the previous step.
Parameters
The following parameters are available for the i3D.net intergration:
Parameter | Optional | Description |
---|---|---|
API token | No | An API token allowing Idem to interact with the i3D.net API on your behalf. You can create that in the API Management section of your i3D.net account. |
applicaitonId | No | The ID of the i3D.net application that Idem should request i3D.net to host. You can access the ID of an application via the i3D.net API or retrieve it from the URL of the application's detail page: https://one.i3d.net/Game-Hosting/Application-Management/Application/<this-will-be-the-applicationId>/Details |
Response to players
The websocket response to players will have the following format:
{
"action": "joinInfo",
"payload": {
"providerName": "i3d",
"providerReference": "1394296486561117717",
"connectionInfo": {
"host": "3.72.7.225",
"ip": "3.72.7.225",
"domain": null,
"ports": [{ "name": "port", "port": 10447, "protocol": null }]
},
"rawProviderInformation": {
"id": "1394296486561117717",
"status": 5,
"ipAddress": [
{ "ipAddress": "172.31.36.31", "ipVersion": 4, "private": 1 },
{ "ipAddress": "3.72.7.225", "ipVersion": 4, "private": 0 }
],
"properties": [
{
"id": "1394296486571303417",
"propertyType": 6,
"propertyKey": "managementport",
"propertyValue": "30505"
},
{
"id": "1394296486578074159",
"propertyType": 1,
"propertyKey": "port",
"propertyValue": "10447"
}
]
}
}
}
This information can then be used to connect the players to the server.