Class ServerServiceGrpc.ServerServiceBlockingV2Stub
java.lang.Object
io.grpc.stub.AbstractStub<ServerServiceGrpc.ServerServiceBlockingV2Stub>
io.grpc.stub.AbstractBlockingStub<ServerServiceGrpc.ServerServiceBlockingV2Stub>
com.soulfiremc.grpc.generated.ServerServiceGrpc.ServerServiceBlockingV2Stub
- Enclosing class:
ServerServiceGrpc
public static final class ServerServiceGrpc.ServerServiceBlockingV2Stub
extends io.grpc.stub.AbstractBlockingStub<ServerServiceGrpc.ServerServiceBlockingV2Stub>
A stub to allow clients to do synchronous rpc calls to service ServerService.
ServerService provides gRPC methods for managing server-level configuration in SoulFire. This service handles global settings that affect the entire SoulFire server instance, including debug logging, plugin configurations, and other server-wide preferences. Configuration changes are persisted to a database and trigger runtime hooks to apply settings immediately (e.g., adjusting log levels for SoulFire, Minecraft, Netty, gRPC, Hibernate, and Via components). All methods require appropriate permissions: - GetServerInfo requires READ_SERVER_CONFIG permission - UpdateServerConfig requires UPDATE_SERVER_CONFIG permission - UpdateServerConfigEntry requires UPDATE_SERVER_CONFIG permission Errors: - PERMISSION_DENIED: If the caller lacks the required permission - INTERNAL: If a database or processing error occurs
-
Nested Class Summary
Nested classes/interfaces inherited from class io.grpc.stub.AbstractStub
io.grpc.stub.AbstractStub.StubFactory<T> -
Method Summary
Modifier and TypeMethodDescriptionbuild(io.grpc.Channel channel, io.grpc.CallOptions callOptions) getServerInfo(ServerInfoRequest request) Retrieves comprehensive server information including current configuration, all available settings definitions, settings page layouts, and registered plugins.Replaces the entire server configuration with the provided values.Updates a single configuration entry identified by namespace and key.Methods inherited from class io.grpc.stub.AbstractBlockingStub
newStub, newStubMethods inherited from class io.grpc.stub.AbstractStub
getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOnReadyThreshold, withOption, withWaitForReady
-
Method Details
-
build
protected ServerServiceGrpc.ServerServiceBlockingV2Stub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions) - Specified by:
buildin classio.grpc.stub.AbstractStub<ServerServiceGrpc.ServerServiceBlockingV2Stub>
-
getServerInfo
Retrieves comprehensive server information including current configuration, all available settings definitions, settings page layouts, and registered plugins. This method is typically called when initializing a settings UI to obtain: 1. Current configuration values to populate form fields 2. Settings definitions describing each setting's type, constraints, and metadata 3. Page definitions for organizing settings into logical groups 4. Plugin information for displaying registered plugins Requires: READ_SERVER_CONFIG permission Returns: ServerInfoResponse with all server configuration and metadata Errors: PERMISSION_DENIED if caller lacks READ_SERVER_CONFIG permission INTERNAL if a database error occurs while retrieving configuration- Throws:
io.grpc.StatusException
-
updateServerConfig
public ServerUpdateConfigResponse updateServerConfig(ServerUpdateConfigRequest request) throws io.grpc.StatusException Replaces the entire server configuration with the provided values. This is a bulk update operation primarily used for profile import functionality. Use this method when you need to apply a complete configuration snapshot, such as when importing settings from a saved profile or restoring a backup. For individual setting changes during normal operation, prefer UpdateServerConfigEntry. The new configuration is persisted to the database, and runtime hooks are triggered to apply changes immediately (e.g., log level adjustments). Requires: UPDATE_SERVER_CONFIG permission Returns: Empty ServerUpdateConfigResponse on success Errors: PERMISSION_DENIED if caller lacks UPDATE_SERVER_CONFIG permission INTERNAL if a database error occurs while saving configuration- Throws:
io.grpc.StatusException
-
updateServerConfigEntry
public ServerUpdateConfigEntryResponse updateServerConfigEntry(ServerUpdateConfigEntryRequest request) throws io.grpc.StatusException Updates a single configuration entry identified by namespace and key. This is a granular update operation for modifying individual settings. This is the preferred method for real-time UI interactions where users modify settings one at a time. It avoids overwriting unrelated settings and is more efficient than replacing the entire configuration. If the namespace doesn't exist, it will be created. If the key doesn't exist within the namespace, it will be added. Existing values are overwritten. The change is persisted to the database, and runtime hooks are triggered to apply the new value immediately where applicable. Requires: UPDATE_SERVER_CONFIG permission Returns: Empty ServerUpdateConfigEntryResponse on success Errors: PERMISSION_DENIED if caller lacks UPDATE_SERVER_CONFIG permission INTERNAL if a database error occurs while saving the entry- Throws:
io.grpc.StatusException
-