ServerListPlus icon indicating copy to clipboard operation
ServerListPlus copied to clipboard

Alternatives for ServerListPlus

Open stephan-gh opened this issue 4 years ago • 27 comments

Realistically speaking, ServerListPlus has been semi-abandoned for a while. I try to reply to some issues here on GitHub occasionally, but it's unlikely I will ever get back to implementing any new feature requests. This is because my interests changed and I haven't played Minecraft for years now.

This issue exists to allow discussing possible alternatives that are more actively maintained. You can comment with possible alternatives that you found and share what you find good or bad about them.

stephan-gh avatar Apr 25 '21 17:04 stephan-gh

We are currently using ServerListMOTD which is a resurrection/continuation of this one. It has 300+ downloads (the original had 1800). It has full PAPI support. It's only 6 months old, but the developer seems committed. He supports only two plugins, both of which he resurrected. You can read about him at the bottom of the Overview page.

SlimeDog avatar Apr 25 '21 17:04 SlimeDog

Here are some other plugins I know of and their pros and cons (personal opinion):

  • MiniMOTD (Source)
    • + Support for MiniMessage in the MOTD
    • + Supports Spigot/Paper, BungeeCord/Waterfall, Velocity and Fabric
    • + Multiple MOTDs
    • + Multiple (random) Favicons
    • + Playercount can be hidden (Set to ???)
    • + Pair MOTD and Icons together
    • + Enable/Disable Features
    • - No Hover for player count
    • - Uses HOCON configuration (More difficult configuration?)
  • PistonMOTD (Source)
    • + Support for MiniMessage in the MOTD
    • + Separate RGB support through &#ffffff format
    • + Supports Spigot/Paper and BungeeCord/Waterfall
    • + Multiple MOTDs
    • + Multiple (random) Favicons
    • + Playercount can be hidden (Set to ???)
    • + Hover text support
    • + Custom "Out of date" message
    • + Enable/Disable features
    • - Uses %newline% placeholder for new lines... (Why?)
  • ServerListPlus (Fork) (Source)
    • + Support for MiniMessage in the MOTD
    • + Exact same features as original SLP.
    • +/- Different RGB Color Code format &#ffffff& (Not as user friendly?)
  • AdvancedServerList (Source)
    • + Support for MiniMessage in all the text options (Except favicon option) with MOTD also allowing Hex colours and gradients.
    • + Support for Spigot/Paper, BungeeCord/Waterfall and Velocity
    • + Supports all features SLP offers, meaning
      • MOTD
      • Favicon
      • Hiding player count (Setting it to ???)
      • Hover text on player count
      • Overriding the player count text itself
      • Setting the max player count
      • All options can be set multiple times using a profiles section, which goes through them randomly
    • + Allows to display max players as <online> + n with n being a configurable number.
    • + Multiple files can be used with conditions and priority to determine what to display under what conditions.
    • PlaceholderAPI support including proxy (Requires PAPIProxyBridge)
    • - No support for Sponge or Fabric
    • - No random combinations of the different options. Only randomized pairs work (or profiles entry + global entry of other options)

Andre601 avatar Apr 25 '21 18:04 Andre601

@Andre601 @SlimeDog Mainly just curious, aside from having a rather inactive maintainer, what are the main features that ServerListPlus is missing? I could think of PlaceholderAPI support and hex colors, is there any other major feature that was introduced with some Minecraft update?

stephan-gh avatar Apr 28 '21 15:04 stephan-gh

You have arrived at the "missing features" list. I don't personally care about hex colors, but others may do. PAPI support is essential.

SlimeDog avatar Apr 28 '21 15:04 SlimeDog

@Andre601 @SlimeDog Mainly just curious, aside from having a rather inactive maintainer, what are the main features that ServerListPlus is missing? I could think of PlaceholderAPI support and hex colors, is there any other major feature that was introduced with some Minecraft update?

For me, something like "predicates" or "conditions" to display different MOTDs based on those is something that isn't just missing from SLP alone but many different MOTD plugins. So many out there only offer randomized MOTDs and icons at most but not really any "if X show MOTD Y with Icon Z". Like displaying a specific MOTD if the player in question is banned to tell them where to appeal.

I btw added the SLP Fork from Minebench (https://github.com/Minebench/ServerListPlus) here as it also adds RGB support while keeping SLPs main features intact.

Andre601 avatar Apr 28 '21 17:04 Andre601

Predicates would be nice. I would probably make use of them. Perhaps you should add that as a feature request on ServerListMOTD. :)

SlimeDog avatar Apr 28 '21 17:04 SlimeDog

Predicates would be nice. I would probably make use of them. Perhaps you should add that as a feature request on ServerListMOTD. :)

I have no use for this plugin. So why don't you make one? xD

Andre601 avatar Apr 28 '21 17:04 Andre601

Oh. I misunderstood. I thought you were looking for alternatives to SLP that supported PAPI and might implement new features.

SlimeDog avatar Apr 28 '21 17:04 SlimeDog

For me, something like "predicates" or "conditions" to display different MOTDs based on those is something that isn't just missing from SLP alone but many different MOTD plugins.

Yeah agreed, this would have been exactly the "trigger" concept in ServerListPlus 4.0.

Basically, instead of having fixed Default, Personalized and Banned "profiles" you could have created an arbitrary number of profiles and enable them either permanently or based on a trigger. This would then have been similarly easy to extend as placeholders, which would have significantly simplified implementing feature requests for new kinds of triggers. This is why I started labeling issues with "trigger" long ago: https://github.com/Minecrell/ServerListPlus/issues?q=is%3Aopen+is%3Aissue+label%3Atrigger

I was playing with some ideas here https://gist.github.com/Minecrell/8470683b0f710fbf5d46044a1a17607e although I never figured it out fully because it's kind of tricky to find a compromise between flexibility and complexity.

To be honest, I kind of regret never finishing up SLP 4.0, I had nice ideas for it. :)

stephan-gh avatar Apr 28 '21 17:04 stephan-gh

Don't we all? I personally regret never working on PingNachricht anymore, but I don't feel like working on it anymore, especially since I dislike working with ProtocolLib.

Andre601 avatar Apr 28 '21 17:04 Andre601

I personally regret never working on PingNachricht anymore, but I don't feel like working on it anymore, especially since I dislike working with ProtocolLib.

IMO at this point, the extended ServerListPingEvent I contributed to Paper (see https://github.com/PaperMC/Paper/pull/980) should really be preferred over using ProtocolLib for server list stuff. And if some of the alternatives don't have support for that, you might want to ask them to add it. :)

Without the Bukkit drama something like this might have existed years before... Actually I had a PR open for server list stuff on the Spigot repository when the DMCA drama happened. Similar code became part of Paper eventually, but many years later.

stephan-gh avatar Apr 28 '21 18:04 stephan-gh

Does ServerListPingEvent exist in Spigot, or only Paper? If only Paper, then it's not really useful for Spigot plugins.

SlimeDog avatar Apr 28 '21 18:04 SlimeDog

Does ServerListPingEvent exist in Spigot, or only Paper? If only Paper, then it's not really useful for Spigot plugins.

It exists only in Paper. I stopped contributing to Spigot after the Bukkit drama, because of their weird source hosting, CLA and general approach to PRs. Paper was much more friendly to work with.

Anyway, given that the original API (Bukkit) + implementation (CraftBukkit) is dead now you can decide which implementations you want to support. ServerListPlus supports the Paper event optionally (in addition to the old ProtocolLib implementation).

stephan-gh avatar Apr 28 '21 18:04 stephan-gh

It exists only in Paper. I stopped contributing to Spigot after the Bukkit drama, because of their weird source hosting, CLA and general approach to PRs. Paper was much more friendly to work with.

Well, I don't know if anyone tried bringing it to Spigot (although I doubt it). Anyone is free to take the code and suggest it for Spigot. Or whatever is considered as the main implementation nowadays :)

stephan-gh avatar Apr 28 '21 18:04 stephan-gh

"Main" is a squishy concept, but Paper and its many derivatives still consider Spigot the "upstream". And Paper makes the explicit claim that any Spigot plugin will work on Paper (despite some evidence to the contrary). The reverse is obviously not true. If a developer wants their plugin(s) to work across the Minecraft derivatives, then they must account -- as you did -- for the differences (ie., enhancements that have not been incorporated into Spigot).

SlimeDog avatar Apr 28 '21 18:04 SlimeDog

Alright... Quickly clearing stuff up

Does ServerListPingEvent exist in Spigot, or only Paper? If only Paper, then it's not really useful for Spigot plugins.

It exists only in Paper. I stopped contributing to Spigot after the Bukkit drama, because of their weird source hosting, CLA and general approach to PRs. Paper was much more friendly to work with.

Nope. The ServerListPingEvent does exist in Spigot. See here. What you're referring to is the PaperServerListPingEvent which has the enhancements.

Anyway, given that the original API (Bukkit) + implementation (CraftBukkit) is dead now you can decide which implementations you want to support. ServerListPlus supports the Paper event optionally (in addition to the old ProtocolLib implementation).

I wouldn't call it dead. While it's true that Paper does provided a lot of wanted features does it not make sense to only support them. Spigot still makes 42.3% (68.8k Servers) of over 204,000 servers so it's still a big thing and still receives updates.

This would be like if I would make OneVersionRemake only support Waterfall and/or Velocity, but intentionally deny BungeeCord.

"Main" is a squishy concept, but Paper and its many derivatives still consider Spigot the "upstream". And Paper makes the explicit claim that any Spigot plugin will work on Paper (despite some evidence to the contrary). The reverse is obviously not true. If a developer wants their plugin(s) to work across the Minecraft derivatives, then they must account -- as you did -- for the differences (ie., enhancements that have not been incorporated into Spigot).

Yep. That's one issue and a main reason as to why Paper offers a library for this, that tries to use Paper's enhancement while providing gracefully fallback support for Spigot. But if people don't use this do they often need to do things like using Class.forName("io.papermc.blablabla") to see if Paper is used or not.

Andre601 avatar Apr 28 '21 19:04 Andre601

Also, I think this becomes kinda off-topic and no longer about the issue's main purpose, so shouldn't we move it to somewhere else? Unfortunately does this repo not use Discussions (And I don't think it's worth enabling that) to say "Let's go to a discussion for this"

Andre601 avatar Apr 28 '21 19:04 Andre601

Unfortunately does this repo not use Discussions (And I don't think it's worth enabling that) to say "Let's go to a discussion for this"

FWIW I enabled them, but mainly because I was curious how they look or what that even is (never used it). I will now hide all unrelated comments I guess :)

stephan-gh avatar Apr 28 '21 19:04 stephan-gh

Unfortunately does this repo not use Discussions (And I don't think it's worth enabling that) to say "Let's go to a discussion for this"

FWIW I enabled them, but mainly because I was curious how they look or what that even is (never used it). I will now hide all unrelated comments I guess :)

They're essentially like StackOverflow (You can select answers, if enabled, and up/downvote responses)

Andre601 avatar Apr 28 '21 19:04 Andre601

In fact, I think this MOTD plugin is also very good: CleanMOTD(Source)

haha44444 avatar Jul 28 '21 04:07 haha44444

I used to use PistonMOTD.

notkirb avatar Nov 24 '22 01:11 notkirb

A while ago I made a plugin that aims to provide what SLP does calledAdvancedServerList.

Benefits are multiple profiles with priority and conditions. Downside is no Sponge v8 support (yet).

Andre601 avatar Nov 24 '22 10:11 Andre601

Kinda wondering if this is still relevant to the current state of SLP, or if things have changed...

Andre601 avatar Sep 27 '23 13:09 Andre601

Irrelevant to me. I have been using ASL for some time now.

SlimeDog avatar Sep 27 '23 14:09 SlimeDog

The status of SLP has not really changed. I did make a release with the new features that have accumulated over the years but still don't plan to have major new functional changes. I think it's fine to continue using SLP for people who are fine with the current state, but if someone is looking for new features or actively handled feature requests switching to a different plugin is probably better.

stephan-gh avatar Sep 27 '23 16:09 stephan-gh