+ * To enable game server watcher, use {@link Builder#withGameServerWatcherExecutor(ExecutorService)}. + * + * @return {@code true} if it can watch game server, {@code false} otherwise. + */ + boolean canWatchGameServer(); + + /** + * Adds a game server watcher. + *
+ * Game server watchers are called whenever a game server event occurs.
+ *
+ * @param watcher A consumer that represents the game server watcher.
+ *
+ * @see #canWatchGameServer()
+ */
+ void addGameServerWatcher(Consumer
+ * To enable health check, use {@link Builder#withHealthCheck(Duration, Duration)}.
+ *
+ * @return {@code true} if it can use health check system of Agones, {@code false} otherwise.
+ */
+ boolean canHealthCheck();
+
+ /**
+ * Starts the health checking.
+ *
+ * @throws IllegalStateException if the health check interval not specified.
+ * @see #canHealthCheck()
+ */
+ void startHealthChecking();
+
+ /**
+ * Stops the health checking.
+ */
+ void stopHealthChecking();
+
+ /**
+ * Creates a new health check stream.
+ *
+ * @param response the response from server.
+ *
+ * @return a stream observer to send health check requests.
+ *
+ * @see #canHealthCheck()
+ */
+ StreamObserver
+ * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the
+ * @link Sdk.GameServer status resource.
+ *
+ * If GameServer#Status#PlayerStatus#getIdsList is set manually through the Kubernetes API, use
+ * {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to view this value.
+ *
+ * @param response the response from server.
+ */
+ void getConnectedPlayersFuture(StreamObserver
+ * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the
+ * @link Sdk.GameServer status resource.
+ *
+ * If GameServer#Status#PlayerStatus#getIdsList is set manually through the Kubernetes API, use
+ * {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to view this value.
+ *
+ * @return A future that represents the list of the currently connected player ids.
+ */
+ default CompletableFuture
+ * GameServer#Status#PlayerStatus#getCount and GameServer#Status#PlayerStatus#getIdsList are then set to update the player count and id list a second from now, unless there is already an update pending, in which case the update joins that batch operation.
+ *
+ * The response returns true and adds the playerID to the list of playerIDs if this playerID was not already in the list of connected playerIDs.
+ *
+ * If the playerID exists within the list of connected playerIDs, will return false, and the list of connected playerIDs will be left unchanged.
+ *
+ * An error will be returned if the playerID was not already in the list of connected playerIDs but the player capacity for the server has been reached.
+ * The playerID will not be added to the list of playerIDs.
+ *
+ * WARNING: Do not use this method if you are manually managing GameServer#Status#PlayerStatus#getIdsList and GameServer#Status#PlayerStatus#getCount through the Kubernetes API, as indeterminate results will occur.
+ *
+ * @param playerId the player id to connect.
+ * @param response the response from server.
+ */
+ void playerConnect(String playerId, StreamObserver
+ * If the playerID exists within the list of connected playerIDs, will return false, and the list of connected playerIDs will be left unchanged.
+ *
+ * An error will be returned if the playerID was not already in the list of connected playerIDs but the player capacity for the server has been reached.
+ * The playerID will not be added to the list of playerIDs.
+ *
+ * WARNING: Do not use this method if you are manually managing GameServer#Status#PlayerStatus#getIdsList and GameServer#Status#PlayerStatus#getCount through the Kubernetes API, as indeterminate results will occur.
+ *
+ * @param playerId the player id to connect.
+ *
+ * @return A future that represents the result of the player connect operation.
+ */
+ default CompletableFuture
+ * The response returns true and removes the playerID from the list of connected playerIDs if the playerID value exists within the list.
+ *
+ * If the playerID was not in the list of connected playerIDs, the call will return false, and the connected playerID list will be left unchanged.
+ *
+ * WARNING: Do not use this method if you are manually managing GameServer#Status#PlayerStatus#getIdsList and GameServer#Status#PlayerStatus#getCount through the Kubernetes API, as indeterminate results will occur.
+ *
+ * @param playerId the player id to disconnect.
+ * @param response the response from server.
+ */
+ void playerDisconnect(String playerId, StreamObserver
+ * If the playerID was not in the list of connected playerIDs, the call will return false, and the connected playerID list will be left unchanged.
+ *
+ * WARNING: Do not use this method if you are manually managing GameServer#Status#PlayerStatus#getIdsList and GameServer#Status#PlayerStatus#getCount through the Kubernetes API, as indeterminate results will occur.
+ *
+ * @param playerId the player id to disconnect.
+ *
+ * @return A future that represents the result of the player disconnect operation.
+ */
+ default CompletableFuture
+ * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the @link Sdk.GameServer status resource.
+ *
+ * If GameServer#Status#PlayerStatus#getIdsList is set manually through the Kubernetes API, use {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to determine connected status.
+ *
+ * @param playerId the player id to return.
+ * @param response the response from server.
+ */
+ void isPlayerConnected(String playerId, StreamObserver
+ * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the @link Sdk.GameServer status resource.
+ *
+ * If GameServer#Status#PlayerStatus#getIdsList is set manually through the Kubernetes API, use {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to determine connected status.
+ *
+ * @param playerId the player id to return.
+ *
+ * @return A future that represents the result of the is player connected operation.
+ */
+ default CompletableFuture
+ * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the @link Sdk.GameServer status resource.
+ *
+ * If GameServer#Status#PlayerStatus#getCapacity is set manually through the Kubernetes API, use {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to view this value.
+ *
+ * @param response the response from server.
+ */
+ void getPlayerCapacity(StreamObserver
+ * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the @link Sdk.GameServer status resource.
+ *
+ * If GameServer#Status#PlayerStatus#getCapacity is set manually through the Kubernetes API, use {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to view this value.
+ *
+ * @return A future that represents the current player capacity.
+ */
+ default CompletableFuture
+ * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the @link Sdk.GameServer status resource.
+ *
+ * If GameServer#Status#PlayerStatus#getCount is set manually through the Kubernetes API, use {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to view this value.
+ *
+ * @param response the response from server.
+ */
+ void getPlayerCount(StreamObserver
+ * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the @link Sdk.GameServer status resource.
+ *
+ * If GameServer#Status#PlayerStatus#getCount is set manually through the Kubernetes API, use {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to view this value.
+ *
+ * @return A future that represents the current player count.
+ */
+ default CompletableFuture
+ * returns NOT_FOUND if the List does not exist.
+ *
+ * @param name the name to get.
+ * @param response the response from server.
+ */
+ void getList(String name, StreamObserver
+ * Returns NOT_FOUND if the List does not exist.
+ *
+ * @param name the name to get.
+ *
+ * @return the list.
+ */
+ default CompletableFuture
+ * Returns NOT_FOUND if the list does not exist.
+ *
+ * Returns ALREADY_EXISTS if the value is already in the list.
+ *
+ * Returns OUT_OF_RANGE if the list is already at Capacity.
+ *
+ * @param name the name to add.
+ * @param value the value to add.
+ * @param response the response from server.
+ */
+ void addList(String name, String value, StreamObserver
+ * Returns NOT_FOUND if the list does not exist.
+ *
+ * Returns ALREADY_EXISTS if the value is already in the list.
+ *
+ * Returns OUT_OF_RANGE if the list is already at Capacity.
+ *
+ * @param name the name to add.
+ * @param value the value to add.
+ *
+ * @return the updated list.
+ */
+ default CompletableFuture
+ * Returns NOT_FOUND if the list does not exist.
+ *
+ * Returns NOT_FOUND if the value is not in the list.
+ *
+ * @param name the name to remove.
+ * @param value the value to remove.
+ * @param response the response from server.
+ */
+ void removeList(String name, String value, StreamObserver
+ * Returns NOT_FOUND if the list does not exist.
+ *
+ * Returns NOT_FOUND if the value is not in the list.
+ *
+ * @param name the name to remove.
+ * @param value the value to remove.
+ *
+ * @return the updated list.
+ */
+ default CompletableFuture
+ * Returns NOT_FOUND if the list does not exist (name cannot be updated).
+ *
+ * THIS WILL OVERWRITE ALL EXISTING LIST.VALUES WITH ANY REQUEST LIST.VALUES.
+ *
+ * Use {@link #addListFuture(String, String)} or {@link #removeListFuture(String, String)} for modifying the
+ * List.Values field.
+ *
+ * Returns INVALID_ARGUMENT if the field mask path(s) are not field(s) of the list.
+ *
+ * @param list the list to update.
+ * @param updateMask the update mask to update.
+ * @param response the response from server.
+ */
+ void updateList(AgonesList list, List
+ * Returns NOT_FOUND if the list does not exist (name cannot be updated).
+ *
+ * THIS WILL OVERWRITE ALL EXISTING LIST.VALUES WITH ANY REQUEST LIST.VALUES.
+ *
+ * Use {@link #addListFuture(String, String)} or {@link #removeListFuture(String, String)} for modifying the
+ * List.Values field.
+ *
+ * Returns INVALID_ARGUMENT if the field mask path(s) are not field(s) of the list.
+ *
+ * @param list the list to update.
+ * @param updateMask the update mask to update.
+ *
+ * @return the updated list.
+ */
+ default CompletableFuture
+ * Returns NOT_FOUND if the counter does not exist.
+ *
+ * @param name the name of the counter.
+ * @param response the response from server.
+ */
+ void getCounter(String name, StreamObserver
+ * Returns NOT_FOUND if the counter does not exist.
+ *
+ * @param name the name of the counter.
+ *
+ * @return the counter.
+ */
+ default CompletableFuture
+ * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
+ *
+ * Returns OUT_OF_RANGE if the Count is out of range [0,Capacity].
+ *
+ * @param name the name of the counter.
+ * @param amount the amount to increase.
+ * @param response the response from server.
+ */
+ void increaseCounter(String name, long amount, StreamObserver
+ * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
+ *
+ * Returns OUT_OF_RANGE if the Count is out of range [0,Capacity].
+ *
+ * @param name the name of the counter.
+ * @param amount the amount to increase.
+ *
+ * @return the counter.
+ */
+ default CompletableFuture
+ * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
+ *
+ * Returns OUT_OF_RANGE if the Count is out of range [0,Capacity].
+ *
+ * @param name the name of the counter.
+ * @param amount the amount to decrease.
+ * @param response the response from server.
+ */
+ void decreaseCounter(String name, long amount, StreamObserver
+ * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
+ *
+ * Returns OUT_OF_RANGE if the Count is out of range [0,Capacity].
+ *
+ * @param name the name of the counter.
+ * @param amount the amount to decrease.
+ *
+ * @return the counter.
+ */
+ default CompletableFuture
+ * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
+ *
+ * Returns OUT_OF_RANGE if the Count is out of range [0,Capacity].
+ *
+ * @param name the name of the counter.
+ * @param amount the amount to set.
+ * @param response the response from server.
+ */
+ void setCounterCount(String name, long amount, StreamObserver
+ * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
+ *
+ * Returns OUT_OF_RANGE if the Count is out of range [0,Capacity].
+ *
+ * @param name the name of the counter.
+ * @param amount the amount to set.
+ *
+ * @return the counter.
+ */
+ default CompletableFuture
+ * 0 is no limit.
+ *
+ * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
+ *
+ * @param name the name of the counter.
+ * @param amount the amount to set.
+ * @param response the response from server.
+ */
+ void setCounterCapacity(String name, long amount, StreamObserver
+ * 0 is no limit.
+ *
+ * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
+ *
+ * @param name the name of the counter.
+ * @param amount the amount to set.
+ *
+ * @return the counter.
+ */
+ default CompletableFuture
- * To enable game server watcher, use {@link Builder#withGameServerWatcherExecutor(ExecutorService)}.
- *
- * @return {@code true} if it can watch game server, {@code false} otherwise.
- */
- boolean canWatchGameServer();
-
- /**
- * Adds a game server watcher.
- *
- * Game server watchers are called whenever a game server event occurs.
- *
- * @param watcher A consumer that represents the game server watcher.
- *
- * @see #canWatchGameServer()
- */
- void addGameServerWatcher(Consumer
- * To enable health check, use {@link Builder#withHealthCheck(Duration, Duration)}.
- *
- * @return {@code true} if it can use health check system of Agones, {@code false} otherwise.
- */
- boolean canHealthCheck();
-
- /**
- * Starts the health checking.
- *
- * @throws IllegalStateException if the health check interval not specified.
- * @see #canHealthCheck()
- */
- void startHealthChecking();
-
- /**
- * Stops the health checking.
- */
- void stopHealthChecking();
-
- /**
- * Creates a new health check stream.
- *
- * @param response the response from server.
- *
- * @return a stream observer to send health check requests.
- *
- * @see #canHealthCheck()
- */
- StreamObserver
- * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the
- * @link Sdk.GameServer status resource.
- *
- * If GameServer#Status#PlayerStatus#getIdsList is set manually through the Kubernetes API, use
- * {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to view this value.
- *
- * @param response the response from server.
- */
- void getConnectedPlayersFuture(StreamObserver
- * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the
- * @link Sdk.GameServer status resource.
- *
- * If GameServer#Status#PlayerStatus#getIdsList is set manually through the Kubernetes API, use
- * {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to view this value.
- *
- * @return A future that represents the list of the currently connected player ids.
- */
- default CompletableFuture
- * GameServer#Status#PlayerStatus#getCount and GameServer#Status#PlayerStatus#getIdsList are then set to update the player count and id list a second from now, unless there is already an update pending, in which case the update joins that batch operation.
- *
- * The response returns true and adds the playerID to the list of playerIDs if this playerID was not already in the list of connected playerIDs.
- *
- * If the playerID exists within the list of connected playerIDs, will return false, and the list of connected playerIDs will be left unchanged.
- *
- * An error will be returned if the playerID was not already in the list of connected playerIDs but the player capacity for the server has been reached.
- * The playerID will not be added to the list of playerIDs.
- *
- * WARNING: Do not use this method if you are manually managing GameServer#Status#PlayerStatus#getIdsList and GameServer#Status#PlayerStatus#getCount through the Kubernetes API, as indeterminate results will occur.
- *
- * @param playerId the player id to connect.
- * @param response the response from server.
- */
- void playerConnect(String playerId, StreamObserver
- * If the playerID exists within the list of connected playerIDs, will return false, and the list of connected playerIDs will be left unchanged.
- *
- * An error will be returned if the playerID was not already in the list of connected playerIDs but the player capacity for the server has been reached.
- * The playerID will not be added to the list of playerIDs.
- *
- * WARNING: Do not use this method if you are manually managing GameServer#Status#PlayerStatus#getIdsList and GameServer#Status#PlayerStatus#getCount through the Kubernetes API, as indeterminate results will occur.
- *
- * @param playerId the player id to connect.
- *
- * @return A future that represents the result of the player connect operation.
- */
- default CompletableFuture
- * The response returns true and removes the playerID from the list of connected playerIDs if the playerID value exists within the list.
- *
- * If the playerID was not in the list of connected playerIDs, the call will return false, and the connected playerID list will be left unchanged.
- *
- * WARNING: Do not use this method if you are manually managing GameServer#Status#PlayerStatus#getIdsList and GameServer#Status#PlayerStatus#getCount through the Kubernetes API, as indeterminate results will occur.
- *
- * @param playerId the player id to disconnect.
- * @param response the response from server.
- */
- void playerDisconnect(String playerId, StreamObserver
- * If the playerID was not in the list of connected playerIDs, the call will return false, and the connected playerID list will be left unchanged.
- *
- * WARNING: Do not use this method if you are manually managing GameServer#Status#PlayerStatus#getIdsList and GameServer#Status#PlayerStatus#getCount through the Kubernetes API, as indeterminate results will occur.
- *
- * @param playerId the player id to disconnect.
- *
- * @return A future that represents the result of the player disconnect operation.
- */
- default CompletableFuture
- * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the @link Sdk.GameServer status resource.
- *
- * If GameServer#Status#PlayerStatus#getIdsList is set manually through the Kubernetes API, use {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to determine connected status.
- *
- * @param playerId the player id to return.
- * @param response the response from server.
- */
- void isPlayerConnected(String playerId, StreamObserver
- * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the @link Sdk.GameServer status resource.
- *
- * If GameServer#Status#PlayerStatus#getIdsList is set manually through the Kubernetes API, use {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to determine connected status.
- *
- * @param playerId the player id to return.
- *
- * @return A future that represents the result of the is player connected operation.
- */
- default CompletableFuture
- * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the @link Sdk.GameServer status resource.
- *
- * If GameServer#Status#PlayerStatus#getCapacity is set manually through the Kubernetes API, use {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to view this value.
- *
- * @param response the response from server.
- */
- void getPlayerCapacity(StreamObserver
- * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the @link Sdk.GameServer status resource.
- *
- * If GameServer#Status#PlayerStatus#getCapacity is set manually through the Kubernetes API, use {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to view this value.
- *
- * @return A future that represents the current player capacity.
- */
- default CompletableFuture
- * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the @link Sdk.GameServer status resource.
- *
- * If GameServer#Status#PlayerStatus#getCount is set manually through the Kubernetes API, use {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to view this value.
- *
- * @param response the response from server.
- */
- void getPlayerCount(StreamObserver
- * This is always accurate from what has been set through this SDK, even if the value has yet to be updated on the @link Sdk.GameServer status resource.
- *
- * If GameServer#Status#PlayerStatus#getCount is set manually through the Kubernetes API, use {@link Agones#getGameServerFuture()} or {@link Agones#addGameServerWatcher(Consumer)} instead to view this value.
- *
- * @return A future that represents the current player count.
- */
- default CompletableFuture
- * returns NOT_FOUND if the List does not exist.
- *
- * @param name the name to get.
- * @param response the response from server.
- */
- void getList(String name, StreamObserver
- * Returns NOT_FOUND if the List does not exist.
- *
- * @param name the name to get.
- *
- * @return the list.
- */
- default CompletableFuture
- * Returns NOT_FOUND if the list does not exist.
- *
- * Returns ALREADY_EXISTS if the value is already in the list.
- *
- * Returns OUT_OF_RANGE if the list is already at Capacity.
- *
- * @param name the name to add.
- * @param value the value to add.
- * @param response the response from server.
- */
- void addList(String name, String value, StreamObserver
- * Returns NOT_FOUND if the list does not exist.
- *
- * Returns ALREADY_EXISTS if the value is already in the list.
- *
- * Returns OUT_OF_RANGE if the list is already at Capacity.
- *
- * @param name the name to add.
- * @param value the value to add.
- *
- * @return the updated list.
- */
- default CompletableFuture
- * Returns NOT_FOUND if the list does not exist.
- *
- * Returns NOT_FOUND if the value is not in the list.
- *
- * @param name the name to remove.
- * @param value the value to remove.
- * @param response the response from server.
- */
- void removeList(String name, String value, StreamObserver
- * Returns NOT_FOUND if the list does not exist.
- *
- * Returns NOT_FOUND if the value is not in the list.
- *
- * @param name the name to remove.
- * @param value the value to remove.
- *
- * @return the updated list.
- */
- default CompletableFuture
- * Returns NOT_FOUND if the list does not exist (name cannot be updated).
- *
- * THIS WILL OVERWRITE ALL EXISTING LIST.VALUES WITH ANY REQUEST LIST.VALUES.
- *
- * Use {@link #addListFuture(String, String)} or {@link #removeListFuture(String, String)} for modifying the
- * List.Values field.
- *
- * Returns INVALID_ARGUMENT if the field mask path(s) are not field(s) of the list.
- *
- * @param list the list to update.
- * @param updateMask the update mask to update.
- * @param response the response from server.
- */
- void updateList(AgonesList list, List
- * Returns NOT_FOUND if the list does not exist (name cannot be updated).
- *
- * THIS WILL OVERWRITE ALL EXISTING LIST.VALUES WITH ANY REQUEST LIST.VALUES.
- *
- * Use {@link #addListFuture(String, String)} or {@link #removeListFuture(String, String)} for modifying the
- * List.Values field.
- *
- * Returns INVALID_ARGUMENT if the field mask path(s) are not field(s) of the list.
- *
- * @param list the list to update.
- * @param updateMask the update mask to update.
- *
- * @return the updated list.
- */
- default CompletableFuture
- * Returns NOT_FOUND if the counter does not exist.
- *
- * @param name the name of the counter.
- * @param response the response from server.
- */
- void getCounter(String name, StreamObserver
- * Returns NOT_FOUND if the counter does not exist.
- *
- * @param name the name of the counter.
- *
- * @return the counter.
- */
- default CompletableFuture
- * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
- *
- * Returns OUT_OF_RANGE if the Count is out of range [0,Capacity].
- *
- * @param name the name of the counter.
- * @param amount the amount to increase.
- * @param response the response from server.
- */
- void increaseCounter(String name, long amount, StreamObserver
- * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
- *
- * Returns OUT_OF_RANGE if the Count is out of range [0,Capacity].
- *
- * @param name the name of the counter.
- * @param amount the amount to increase.
- *
- * @return the counter.
- */
- default CompletableFuture
- * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
- *
- * Returns OUT_OF_RANGE if the Count is out of range [0,Capacity].
- *
- * @param name the name of the counter.
- * @param amount the amount to decrease.
- * @param response the response from server.
- */
- void decreaseCounter(String name, long amount, StreamObserver
- * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
- *
- * Returns OUT_OF_RANGE if the Count is out of range [0,Capacity].
- *
- * @param name the name of the counter.
- * @param amount the amount to decrease.
- *
- * @return the counter.
- */
- default CompletableFuture
- * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
- *
- * Returns OUT_OF_RANGE if the Count is out of range [0,Capacity].
- *
- * @param name the name of the counter.
- * @param amount the amount to set.
- * @param response the response from server.
- */
- void setCounterCount(String name, long amount, StreamObserver
- * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
- *
- * Returns OUT_OF_RANGE if the Count is out of range [0,Capacity].
- *
- * @param name the name of the counter.
- * @param amount the amount to set.
- *
- * @return the counter.
- */
- default CompletableFuture
- * 0 is no limit.
- *
- * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
- *
- * @param name the name of the counter.
- * @param amount the amount to set.
- * @param response the response from server.
- */
- void setCounterCapacity(String name, long amount, StreamObserver
- * 0 is no limit.
- *
- * Returns NOT_FOUND if the Counter does not exist (name cannot be updated).
- *
- * @param name the name of the counter.
- * @param amount the amount to set.
- *
- * @return the counter.
- */
- default CompletableFuture> response);
+
+ /**
+ * Returns the list of the currently connected player ids.
+ *
> getConnectedPlayersFuture() {
+ return Internal.observerToFuture(this::getConnectedPlayersFuture);
+ }
+
+ /**
+ * Increases the SDK’s stored player count by one, and appends this playerID to GameServer#Status#PlayerStatus#getIdsList.
+ *
> response) {
+ this.alpha.getConnectedPlayers(
+ Alpha.Empty.getDefaultInstance(),
+ Internal.observerMap(response, Alpha.PlayerIDList::getListList)
+ );
+ }
+
+ @Override
+ public void playerConnect(final String playerId, final StreamObserver
> response);
-
- /**
- * Returns the list of the currently connected player ids.
- *
> getConnectedPlayersFuture() {
- return Internal.observerToFuture(this::getConnectedPlayersFuture);
- }
-
- /**
- * Increases the SDK’s stored player count by one, and appends this playerID to GameServer#Status#PlayerStatus#getIdsList.
- *