agones
agones copied to clipboard
Missing SDK Functionality across languages/engines
We have a variety of SDK functionality, but it isn't implemented across all languages and engines.
This is a work-list of SDK functionality that still needs to be implemented, so we can track it in a single place.
C++
- [x] Allocate()
- [x] Reserve(seconds)
- [x] Conformance tests
Node.js
- [x] Reserve(seconds)
Rust
- [ ] Reserve(seconds)
Unity
- [x] GameServer()
- [x] Reserve(seconds)
- [x] WatchGameServer(callback)
- [ ] Conformance tests
Unreal
- [x] Allocate()
- [x] GameServer()
- [x] Reserve(seconds)
- [x] SetAnnotation(key, value)
- [x] SetLabel(key, value)
- [ ] WatchGameServer(callback)
- [ ] Conformance tests
- [ ] Simple example showing how to use the SDK
Looking at https://github.com/googleforgames/agones/blob/master/build/includes/sdk.mk only node, go, and rust have conformance tests, so I've added a checkbox to each of the other SDKs to add them.
I have a PR for the missing C++ functions.
I'll take a look at Node.js
Updated C++ checklist, due to #948
@whisper0077 - do you have time to add the remaining functions to the Unity SDK?
@YannickLange - do you have time to add the remaining functions to the Unreal SDK?
Updated node.js checklist, due to #955.
Came up in Slack - does Unity & Unreal need some kind of blocking Connect()
function basically so they can also block to wait for the sidecar to come up?
We could do a polling operation on the /healthz
endpoint, or even do what I did on the Rust SDK, and poll GameServer()
until we get a valid response (since it's read only, and a cached value).
WDYT?
Should we add a conformance test for REST api?
If conformance tests for REST API is needed I can add the support for existent 3: Go, Rust and NodeJS.
I don't think we need REST conformation for languages we don't support REST for. Still waiting on some kind of licence/legal review to see what is possible with Unity/Unreal.
Doing Rust::Reserve, because then that is closed out. Also I get to write some more Rust, and that makes me happy.
For SDK conformance tests:
- [x] We need to run sdk server on distinct ports to run all SDK tests in parallel
this was mentioned in another thread leave it there as a checkbox
Currently working on Unity, SDK.GameServer() -- I used swagger to generate the model and hand editing it, so that should hopefully save me some work.
/assign
'This issue is marked as Stale due to inactivity for more than 30 days. To avoid being marked as 'stale' please add 'awaiting-maintainer' label or add a comment. Thank you for your contributions '
This issue is marked as obsolete due to inactivity for last 60 days. To avoid issue getting closed in next 30 days, please add a comment or add 'awaiting-maintainer' label. Thank you for your contributions
@author, We are closing this as there was no activity in this issue for last 90 days. Please reopen if you’d like to discuss anything further.