dieterblancke / BungeeUtilisalsX

Easy proxy management, all in one place. Dozens of commands, announcers, proxy GUI's, ...
https://endoy.dev/projects/BungeeUtilisalsX/info
GNU General Public License v3.0
7 stars 6 forks source link

[Feature]: SubServers 2 Intergreation #221

Open ajh123 opened 11 months ago

ajh123 commented 11 months ago

Introduction

SubServers 2 is a Velocity / Bungeecord server management system. It allows server owners to dynamically create, delete, and update backend severs (Bukitt / Spigot / Paper / Forge / Fabric) at runtime without restarting the proxy. Also, SubServers 2 have the ability to run on multiple proxies at once.

What could be done

Additional information

See https://github.com/ME1312/SubServers-2/wiki/SubAPI for API details.

dieterblancke commented 11 months ago

Correct me if I'm wrong, but lets say you have a sub servers group "Test", does that then create servers like "Test-1", "Test-2", ...?

If so, wouldn't it be sufficient if you used the servergroups system that comes included with BungeeUtilisalsX?

ajh123 commented 11 months ago

You have to create the servers first and add them in the group inside the servers.yml (or in the server's template).

It would be sufficient to use built in servergroups however it would get complicated because you would have to do it twice, one for SubServers 2 and BungeeUtilisalsX. Also SubServers 2 can add servers / groups while the proxy is running (like Cloud Net).

This could work with Dynamic ServerGroups.

dieterblancke commented 11 months ago

You have to create the servers first and add them in the group inside the servers.yml.

It would be sufficient to use built in servergroups however it would get complicated because you would have to do it twice, one for SubServers 2 and BungeeUtilisalsX. Also SubServers 2 can add servers / groups while the proxy is running (like Cloud Net).

This could work with Dynamic ServerGroups.

Yeah, that's what I'm wondering about, is it sufficient with (dynamic) server groups?

Or otherwise, the feature you're asking is to add SubServers2 support to fetch groups from their api on startup?

ajh123 commented 11 months ago

Or otherwise, the feature you're asking is to add SubServers2 support to fetch groups from their api on startup?

Basically that, but fully dynamic. You could use the SubAddServerEvent then lookup the server's group later.

Also, SubServers 2 groups can be used by other plugins (on the backend servers) by adding the plugins' config file to the SubServers template like

Version: '2.18a+'
Template:
  Enabled: true
  Internal: true
  Icon: 'lava_bucket'
  Build:
    Replace:
    - '/plugins/LuckPerms/config.yml' # Allows the Luck Perms config to be modified
    - '/plugins/Plan/config.yml'
    Server-Type: 'Spigot'
    Install-Client: true
    Use-Cache: false
    Can-Update: true
    Update-Files: true
    Update-Settings: true
    Executable: 'echo Loaded'
  Settings:
    Executable: 'java -Xmx1024M -DPaper.IgnoreJavaVersion=true -Dorg.bukkit.craftbukkit.libs.jline.terminal=none -Djansi.passthrough=true -jar paper-1.20.1-196.jar nogui'

Part of the Luck Perms config

server: SubServers::template # Use the template (group) name of the backend server.

Having a way to use SubServers 2 groups would be nice because it would be automatic, also SubServers 2 groups can be added while the proxy is running so BungeeUtilisalsX won't recognize them without restarting the proxy and adding the new groups to the existing config, then marking them as dynamic.