Comments (6)
In our case, we prefer that the results of ListAction and CounterAction are also returned.
Can you explain why? I'm curious as to the use case.
Also, since you get the results, and you know what you send, you could do the diff yourself quite easily.
I thought that if we got the result of appended values, simply add them into our storage with the allocated GameServer data without calculating the diff of request and response.
I plan to cache them into our storage to use these roomIDs from other hosts to connect to the GameServer without sending request to allocator service.
Also, since you get the results, and you know what you send, you could do the diff yourself quite easily.
You are right, we can calculate the diff easily so it's not essential.
from agones.
I'm focused on some other stuff at the moment, so if you want to have a go, please feel free!
If you have questions, feel free to drop them here, or come by #development in Slack!
from agones.
We have a similar use case in implementing the High Density GameServer pattern.
When we request a GameServer allocation, we would like to be able to use list to pre-populate the room in GameServer in batches.
This will reduce the number of actual allocation requests, which is more efficient.
However, the current implementation of CountsAndLists does not necessarily append all list items defined. If you try to fill more than the capacity, you will get an error and the GameServer allocation will succeed with only some of the items filled.
In this case, the expected state of the GameServer and the actual state of the GameServer will inevitably be out of sync.
To solve this problem, it would be helpful if counts and lists are returned in the allocation response as suggested.
from agones.
In our case, we prefer that the results of ListAction and CounterAction are also returned.
For example, the following form.
Request:
{
"lists": {
"rooms": {
"addValues": ["room-3", "room-4", "room-5"]
}
},
"gameServerSelectors": [
{
"gameServerState": 1,
"lists": {
"rooms": {
"minAvailable": 1
}
}
},
{
"gameServerState": 0
}
]
}
Selected GS:
kind: GameServer
metadata:
name: gs-1
status:
state: Allocated
lists: {"rooms":{"capacity":3,"values":["room-1", "room-2"]}}
Result of GS:
kind: GameServer
metadata:
name: gs-1
status:
state: Allocated
lists: {"rooms":{"capacity":3,"values":["room-1", "room-2", "room-3"]}}
Response:
{
"gameServerName": "gs-1",
"ports": [],
"address": "",
"addresses": [],
"nodeName": "",
"source": "",
"metadata": {},
"lists": ["room-1", "room-2", "room-3"]
"listAction": {
"rooms": {
"addedValues": ["room-3"]
}
}
}
from agones.
In our case, we prefer that the results of ListAction and CounterAction are also returned.
Can you explain why? I'm curious as to the use case.
Also, since you get the results, and you know what you send, you could do the diff yourself quite easily.
from agones.
Are you already working on this issue?
If not, would you mind if I tackle it?
from agones.
Related Issues (20)
- Update Node.js Page to Reflect that Counters and Lists is Implemented
- `make build-images` fails with no REGISTRY variable set HOT 1
- Add AppEngine cleanup to appropriate CloudBuild scripts. HOT 2
- Distributed defaults to using ListSortedGameServersPriorities when CountsAndLists is enabled HOT 2
- https and CORS for agones-ping http service HOT 1
- Using portPolicy None results in a gameserver's port being 0 HOT 5
- Beta: UpdateList using Agones 1.41 rest API doesn't update the data in the selected list HOT 18
- UpdateList REST Documentation is for Local SDK Server not SDK Server
- Allow Custom KUBERNETES_SERVICE_HOST and PORT Configuration for Agones Sidecar HOT 3
- Meta proposal: AFP: Agones Feature Process HOT 2
- Issue running `make site-server` from build directory HOT 2
- Upgrade Golang Version to 1.21.12
- golang_version_upgrade template does not appear in list of issue templates in GitHub
- Revert windows ltsc2019 SHA usage.
- Cloud Build script for simple genai server Example Image
- (Re) Numeric Based Naming for Game Servers
- Kubernetes-Native Service Load Balancer Support for GameServer
- Cron Job to restart the game server in-place
- Release 1.42.0 HOT 1
- Docs: Add Option for Extensions Components to use Host Network and Configure Ports HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from agones.