Home›Java›Mods›S.O.U.P. - Server Operator's Utilities Plugin
S.O.U.P. - Server Operator's Utilities Plugin
ModsJava

S.O.U.P. - Server Operator's Utilities Plugin

Java mod listed for Minecraft 1.14–1.15. Downloads from the MC Java Mods app on Android.

⬇ Download on Spigot
Server Operator's Utilities Plugin
​
A bit of history: Essentials was (and is) a plugin that was a must-have for any server. It was an economy, chat, spawn, home (and some more) plugin, all in one. As time went on, some features (such as tp commands) were reworked in vanilla Minecraft, so having them in Essentials was redundant. As more time went out, Essentials would become unsupported by the original creators and picked up by others, who helped everyone a lot by fixing the plugin, but they didn't made a full rework. I've wanted to get a plugin that does what Essentials does, but with a much more modern Minecraft in mind. So, because I haven't found one I liked I eventually made SOUP. Also, SOUP also gets features from AuthMe, which seems to be getting a similar fate.

tl;dr
SOUP is an alternative to both Essentials and AuthMe. Why? So you can have different choices with different visions.

Vision behind S.O.U.P.
​
Implement useful features for any server, always having a good balance of usefulness and simplicity.

S.O.U.P. Features ​
Installation ​
  1. Drag and drop in your plugins folder
  2. Start the server
  3. Once the server is up, stop it.
  4. Configure any wanted aspects of S.O.U.P.
  5. Re-start the server, you're done!
Documentation of S.O.U.P.'s Identity System
​
On join, players will be stripped of their items, xp and vision, they will be teleported to the "login spawn" and be requested to either register or log in.

When a player isn't identified, they cannot chat, move (you need to set the "login spawn"), pick items or execute commands. They can break blocks though (But you should have your "login spawn" protected anyway). If they fail to identify themselves in a certain time, they will be kicked.

Once they log in, they will be teleported back, their items and xp will be given back.

The passwords and e-mails are encrypted (very lightly, but functional) so you can't know which password is from which player. Anyway, don't share the credentials.yml file.

Default credentials.yml file, in case you don't see the comments.
Spoiler
Code (YAML):
config :
  # "key" used to encript passwords. DO NOT CHANGE AFTER FIRST RUN
  # This value is automatically set on the first run.
  cryptokey
: 0
  # Should we hold join and leave messages until player is logged in?
  hold-msgs
: true
  # How often should a player be reminded to log in or register?
  # Time is measured in TICKS. 1 second = 20 mc. ticks
  reminder-timer
: 100
  password
:
    # Maximum password length
    max-length
: 20
    # Minimum password length
    min-length
: 5
    # Unsafe passwords, player is forced to avoid these ones.
    unsafe
:
     - "12345"
      - "helloworld"
      - "password"
      - "deeznuts"
  # After how much time should a player be kicked if she doesn't log in?
  # Time is measured in SECONDS!
  kick-timer
: 300
  # After how much attempts should a player be kicked if she fails to log in?
  max-attempts
: 5
  # Commands that can be run without logging in.
  cmd-whitelist
:
   - "login"
    - "register"
    - "email"
  email
:
    # Host address of the mail server
    # For reference, Gmail's host is "smtp.gmail.com"
    host
: "smtp.HOST_NAME.com"
    # User or e-mail for the server to use.
    user
: " sample@text.com "
    # The password of the e-mail, or the special password made by the host so apps can use an email.
    # Gmail, for example, requires you to make a Application-specific password required
    # https://support.google.com/accounts/answer/185833?p=InvalidSecondFactor
    password
: "ilovejustinbieber"
    # The title of the message sent. Note: the contents can be modified in the email.txt file.
    # Note: it must be in a valid html format.
    title
: "Password Recovery from YourFavServer99"
users:

> To set up the identity system:​
  1. Install the plugin, as specified above.
  2. Where you want players to be when they're not yet identified, use the /soup setlogin command.
  3. You're done!
Recovery e-mail Support ​

S.O.U.P. has been included with a nice library called JavaMail inside of it. It allows S.O.U.P. to send e-mails, specifically, send players their password if they forget it.

> To set up your recovery e-mail:​
  1. Register yourself.
  2. Use /email set <your e-mail>
  3. Good, if you want your password, use /email send
  4. You're done!
A message should be delivered automatically to your e-mail. This message can be toggled by modifying the email.txt file that is created when this plugin is installed. Note that this file includes a {password-holder-block} tag, and it should be in html. You can use this editor to make your own.

> To set up the recovery e-mail system:​
  1. Install the plugin, as mentioned above.
  2. Open the credentials.yml file.
  3. In the config.email section, configure the host, the user, the password and the title.
  4. Restart your server and you're done!
Documentation of S.O.U.P.'s Economy System ​

Any economy is a good economy. Most of the time you only need one coin and a way to keep track of the player's balance. S.O.U.P.'s economy works that way, and since it supports Vault; any economy-dependent plugin can be hooked up. Player and bank accounts are supported.

In the econ.yml you can configure:
Default econ.yml, in case the comments don't show up.
Spoiler
Code (YAML):
config :
  # Coin name (singular)
  coin-sing
: "Credit-Emerald"
  # Coin name (plural)
  coin-plur
: "Credit-Emeralds"
  # Java's DecimalFormat input -> read this ->      https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html
  decimal-format
: "₠ ###,###.00"
  # The starting ammount for any new player. Don't be greedy, don't put 0 here!
  account-start
: 1000
  # The starting ammount for any new bank. Who uses banks anyway?
  bank-start
: 0
  # Maximum ammount for a player account. 3 Billion (3,000,000,000,000) should be a good ammount
  account-max
: 3000000000000
  # Maximum ammount for a bank account. 3 Billion (3,000,000,000,000) should be a good ammount
  bank-max
: 3000000000000
accounts
:
banks:

You can use the /eco command to change values for specific players. This command has no restrictions with the values, so watch out!

Documentation of S.O.U.P.'s Teleportation System ​

  • Warps
​
Warps can be managed with /warp <name> set and /warp <name> del . These locations are saved on the disk, and can be accessed through /warp <name> . To get a list of available warps, simply use /warp .

You can "blacklist" a world so players can't teleport from a world to the warp. For example, players in a minigame cannot "accidentally" escape the match.

Default warps.yml in case the comments don't show up.
Spoiler
Code (YAML):
config :
  # How much should a player wait before being teleported.
  # Set to 0 if teleportation should be immediately.
  # Time is measured in SECONDS.
  wait-tp
: 3
  # How much time should a tp request should expire?
  # Time is measured in SECONDS.
  tpx-timeout
: 30
  # Worlds who do not allow teleportation commands.
  # /tpask, /tphere, /warp, etc. Use the world name
  # as it appears in its folder
  worlds-blacklist
:
   - "minigames"
    - "admin_world"
warps:

Note: If a player has to wait to teleport to a warp, he must remain still for the duration of that period.

Players can move left and right (forward, backward, up and down too) with /tpask <player> and /tphere <player> . Players can make one single request to one player at a time. This request "expires" over time and it can be canceled by the sender with /tpcancel . Players can accept a request with /tpok and reject one with /tpno . If they have one request, they don't have to specify the sender; but if they have multiple ones, they will have to.

The warp "time to teleport" value is used here too, so players have to wait a time before being teleported. They'll also need to stay still for a moment.

The world tp. blacklist is used here too, so players can't bring or take players from minigames, for example.

You can set up a "server spawn" where your players will go when they respawn with no bed location. They can also access it with the /spawn command. Teleportation limitations from warps also apply here.

> To set up the server spawn:​
  1. In the location you want to be the spawn, use /soup setspawn .
  2. Done! Wow, that was very easy.
Documentation of S.O.U.P. Micelaneous Features ​

Some features have been included because they're very useful when managing a server. Here is a list of said features:

Documentation of S.O.U.P.'s Ban Mechanics ​

SOUP can ban players by the common /ban command. You can also ban players just by a certain time with /bantime . The format for time is days:hours:minutes so it should be used like /bantime CKittycannon 3:10:20 Banned haha! to ban me for 3 days, 10 hours and 20 minutes. You can omit arguments if you don't want days or hours. 2:10 means two hours and 20 minutes. And of course, you can ban an IP by using /ban-ip .

Documentation of SOUP's Anti-Multiple Accounts System ​

SOUP can check for players using multiple accounts by storing their names and UUID's used. You can set up if you want to set a global maximum or per-IP maximum. Note that players should contact an admin to have more slots in their IP. This avoids players from exploiting one-time gifts or mechanics in your server.

All of this information is found in ips.yml if you need to set this up. Note that the configuration is super simple and I suppose I don't need to tell you to change the 'max' variable in order to change the maximum accounts allowed (globally or per-IP).

Should any player log in with another username he/she will be denied access to the server with a message saying they have ran out of accounts for their IP.

Documentation of S.O.U.P.'s Commands and Permissions ​
Videos, Reviews and Tutorials

Official video showcase coming soon...

Translations
​
Have you translated this plugin's lang.yml to your language? If you want to share it with other humans, please send it to me (or hack your way here) and I'll place in this link .

Available languages:

Wanna See This Plugin In Action?
​
Severs using this plugin:
TODO List and Future Features
(In order of relevance)​
  1. Temporary ban system
  2. Triggering morning when at least some percentage of players are sleeping.
Disclaimer ​
Terms of Service
​
By using this plugin you accept that this program will:

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

S.O.U.P. - Server Operator's Utilities Plugin is a free Minecraft Java mod. Compatible with Minecraft 1.14, 1.15. Downloaded 414 times (via Spigot). Download it and open it directly in the game.

Explore more