Skip to content

"Service Registration Failed" warning message when setting services to default = sponge #4310

Description

@A248

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: needs triageThis label is automatically applied to new issues and pull requests to indicate they require triagetype: bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions