Affected Product(s)
SpongeVanilla
Version
1.21.10-17.0.1-RC2705
Operating System
Linux
Java Version
openjdk 25.0.4.1 2026-08-18 LTS
Plugins/Mods
None. I can reproduce with no other plugins installed.
The **motivation** for the configuration change (which triggers this bug) is having plugins which provide specific services. However, the bug itself is reproducible with no other plugins on the server.
Describe the bug
Sometimes you have a plugin that provides a service, but you don't want this plugin to override the default service. The Sponge configuration says that you can set the service back to "sponge" as the default provider, which prevents the service being selected from other plugins.
However, this generates a (misleading) warning message in the server log, saying that service registration failed. Functionality is not affected, but the log message is annoying.
To reproduce, set any of the services to the default "sponge" in config/sponge/sponge.conf. For example, set the pagination service explicitly to Sponge:
# Enables server owners to require specific plugins to provide Sponge services
services {
# Services specified here can be implemented by plugins. To ensure that aspecific plugin implements a given service, set the relevant option to itsplugin ID. If you wish to use Sponge's default for a given service, use'sponge' as the ID.
#
# If the plugin ID is unknown, or the option is set to '?', all plugins willbe given the opportunity to register their service. If multiple pluginsattempt to register, one will be picked in an implementation dependent way.If no plugins attempt to register a service, the Sponge default will be usedif one exists.
#
# No Sponge default service exists for the Economy service.
plugins {
# Specifies the plugin that will provide the ban service
ban-service="?"
# Specifies the plugin that will provide the context service
context-service="?"
# Specifies the plugin that will provide the economy service
economy-service="?"
# Specifies the plugin that will provide the pagination service
pagination-service=sponge
# Specifies the plugin that will provide the permission service
permission-service="?"
# Specifies the plugin that will provide the whitelist service
whitelist-service="?"
}
}`
The following log message is generated:
[11:29:12] [main/ERROR] [sponge]: ---------------------------------------------------------------------------------------------------------------------------------------------------
[11:29:12] [main/ERROR] [sponge]: Service Registration Failed: PaginationService (Service Not Provided)
[11:29:12] [main/ERROR] [sponge]: ***************************************************************************************************************************************************
[11:29:12] [main/ERROR] [sponge]: Sponge is configured to obtain the service PaginationService
[11:29:12] [main/ERROR] [sponge]: from the plugin with ID sponge,however, that plugin did not
[11:29:12] [main/ERROR] [sponge]: provide any service implementation when requested.
[11:29:12] [main/ERROR] [sponge]:
[11:29:12] [main/ERROR] [sponge]: To fix this problem, do one of the following:
[11:29:12] [main/ERROR] [sponge]:
[11:29:12] [main/ERROR] [sponge]: * Check that the plugin sponge can actually provide the service (check the plugin documentation if you need more assistance with that plugin).
[11:29:12] [main/ERROR] [sponge]: * Set the config entry for this service to "?" to let Sponge find another plugin to provide the service.
[11:29:12] [main/ERROR] [sponge]: * Set the config entry for this service to the ID of another plugin that can provide the service.
[11:29:12] [main/ERROR] [sponge]:
[11:29:12] [main/ERROR] [sponge]: Sponge will continue using the inbuilt default service.
[11:29:12] [main/ERROR] [sponge]: ---------------------------------------------------------------------------------------------------------------------------------------------------
[11:29:12] [main/INFO] [sponge]: Registered service [PaginationService] to plugin 'sponge'.
The log message is totally unnecessary. The desired outcome is achieved because the service falls back to the default provider (intended behavior), but the log message misleads users into reconfiguring in some other way.
I reproduced this on Minecraft 1.21.10 and API 17. However, I originally discovered the bug on API 15, and it's likely that the bug exists on other API versions too. This is likely a bug caused by failing to special-case Sponge as the default provider.
### Link to logs
https://pastebin.com/HaYXBR5A
Affected Product(s)
SpongeVanilla
Version
1.21.10-17.0.1-RC2705
Operating System
Linux
Java Version
openjdk 25.0.4.1 2026-08-18 LTS
Plugins/Mods
Describe the bug
Sometimes you have a plugin that provides a service, but you don't want this plugin to override the default service. The Sponge configuration says that you can set the service back to "sponge" as the default provider, which prevents the service being selected from other plugins.
However, this generates a (misleading) warning message in the server log, saying that service registration failed. Functionality is not affected, but the log message is annoying.
To reproduce, set any of the services to the default "sponge" in
config/sponge/sponge.conf. For example, set the pagination service explicitly to Sponge:[11:29:12] [main/ERROR] [sponge]: ---------------------------------------------------------------------------------------------------------------------------------------------------
[11:29:12] [main/ERROR] [sponge]: Service Registration Failed: PaginationService (Service Not Provided)
[11:29:12] [main/ERROR] [sponge]: ***************************************************************************************************************************************************
[11:29:12] [main/ERROR] [sponge]: Sponge is configured to obtain the service PaginationService
[11:29:12] [main/ERROR] [sponge]: from the plugin with ID sponge,however, that plugin did not
[11:29:12] [main/ERROR] [sponge]: provide any service implementation when requested.
[11:29:12] [main/ERROR] [sponge]:
[11:29:12] [main/ERROR] [sponge]: To fix this problem, do one of the following:
[11:29:12] [main/ERROR] [sponge]:
[11:29:12] [main/ERROR] [sponge]: * Check that the plugin sponge can actually provide the service (check the plugin documentation if you need more assistance with that plugin).
[11:29:12] [main/ERROR] [sponge]: * Set the config entry for this service to "?" to let Sponge find another plugin to provide the service.
[11:29:12] [main/ERROR] [sponge]: * Set the config entry for this service to the ID of another plugin that can provide the service.
[11:29:12] [main/ERROR] [sponge]:
[11:29:12] [main/ERROR] [sponge]: Sponge will continue using the inbuilt default service.
[11:29:12] [main/ERROR] [sponge]: ---------------------------------------------------------------------------------------------------------------------------------------------------
[11:29:12] [main/INFO] [sponge]: Registered service [PaginationService] to plugin 'sponge'.