Sueta

Up2Date

1.5.3

Update free & premium spigot plugins in seconds!

·Plugin


Up2Date is a plugin for updating plugins.
On an average server, it can update a free plugin in 1 - 3 seconds.


Up2Date is a highly efficient and optimized plugin that allows you to manage your plugins with a clean and straightforward central GUI.

This plugin has been in the works over the past two months after I made a significant update to my API AutoUpdaterAPI .

  • Update premium plugins in 5-20 seconds.
  • Update free plugins in 1 - 3 seconds.
  • Doesn't require a restart/reload when updating/installing/deleting.
  • Batch updates (update all plugins with updates available).
  • Install/delete plugins.
  • MySQL Support.
  • User-Friendly and powerful UI.
  • Quick, easy and well-documented setup.
  • Detailed configuration.
  • And much more!

Note: this plugin does require you to install ProtocolLib manually. (It is the only dependency)


As of January 19th, Up2Date has performed over 54,226 successful updates and It has downloaded over 32.18 gigabytes of plugins.

Tutorial for Config, Setup & Usage
YouTube

Gif of updating a free plugin, it starts when the orange clay appears and ends when the [RETRIEVING FILES] goes away. (Elapsed time was 1.11 seconds)

Picture of the main GUI.

  • /up2date, Displays the main Up2Date GUI.
  • /up2date info, Displays basic plugin info.
  • /up2date help, Displays command list.
  • /up2date setup, Begins the plugin setup.
  • /up2date login, Displays the GUI to log in to Spigot, or re-attempts authentication if there's already credentials.
  • /up2date reset, Clears the stored Spigot account information and prompts the executor to log in.
  • /update, Alias for /up2date.
  • /u2d, Alias for /up2date.


  • u2d.*, Gives all permissions.
  • u2d.command, Allows access to /up2date info & /up2date help.
  • u2d.manage, Lets a user manage plugins in /u2d, set up the plugin, and manage the linked Spigot account.
  • u2d.update, Lets a user update plugins.

I am no longer actively supporting this plugin, if you wish to take over the project please send me a PM.


  • Up2Date doesn't support plugins with external downloads. (Likely to never change)
  • Up2Date doesn't support skripts. (Likely to never change)
  • Up2Date doesn't support below Spigot 1.10 (Likely to never change)
  • If your server is extremely weak (Less than 1 gig of ram, a slow CPU or a very slow internet connection). It is unlikely that this plugin will work for you.
  • Updates on plugins that are depended upon by other plugins will be slower. (Typically an extra 2-4 seconds when testing).


############################ 
#                          # 
# Up2Date V1.5.3 by flogic # 
#                          # 
# ########################## 
# 
# Config Guide: 
# 
# STRING, Any text you want. 
# INT, A number without a decimal. 
# FLOAT, A number with a decimal. 
# BOOLEAN, A string that either equals true or false. 
# ARRAY, A list of values like those stated above. 

General: 
  # ---------------General--------------- 
  # 
  # SETUP_COMPLETE 
  # Desc: Has the initial setup wizard been completed, set to false if you want to re-do the plugin setup. 
  # Type: boolean 
  # Default: false (Set to true once in-game setup is complete) 
  Setup-Complete: false 
  # 
  # CACHE_REFRESH_DELAY 
  # Desc: Interval for how long before we refresh the cache (check for updates) for all of your plugins. 
  # Note: The refresh process takes an estimated your amount of plugins x 2 seconds. 
  # Type: integer (minutes) 
  # Minimum: 5 
  # Default: 120 
  Cache-Refresh-Delay: 120 
  # 
  # DATABASE_REFRESH_DELAY 
  # Desc: How often the server will ping your database and update plugin info. 
  # Note: Only applies to people with an SQL database enabled. 
  # Type: integer (minutes) 
  # Minimum: 5 
  # Default: 30 
  Database-Refresh-Delay: 30 
  # 
  # ENABLE_DEBUG 
  # Desc: Enabling this will spit out extensive information when performing updates (especially premium) and most plugin tasks. 
  # Type: boolean 
  # Default: false 
  Enable-Debug: false 
Messages: 
  # ---------------Messages--------------- 
  # 
  # PREFIX 
  # Desc: Prefix to be used in the prefix variable, '%prefix%' 
  # Type: String 
  # Default: &d&lU&5&l2&d&lD &8&l» 
  Prefix: '&5&lU&d&l2&5&lD &8&l» ' 
  # 
  # NO_PERMISSION 
  # Desc: Message sent when an user tries to do something they can't. 
  # Type: String 
  # Default: &dYou don't have permission to do that! 
  No-Permission: '%prefix%&dYou don''t have permission to do that!' 
Advanced: 
  # ---------------Advanced--------------- 
  # 
  # THREAD_POOL_SIZE 
  # Desc: Amount of threads used while parsing your plugins. 
  # If you have 10-29 plugins leave it, 30-69 set it to around 10. 
  # Max: 12 
  # Type: Int 
  # Default: 5 
  ThreadPoolSize: 5 
  # 
  # CONNECTION_POOL_SIZE 
  # Desc: Amount of connections used while transferring data to your database. 
  # Never set this above 10 (unless you know what you're doing and you have godly servers). 
  # Max: 15 
  # Type: Int 
  # Default: 5 
  ConnectionPoolSize: 5 
Statistics: 
  # ---------------Statistics--------------- 
  # 
  # ENABLED 
  # Desc: Do you want Up2Date to track usage data & incompatibilities to help improve it in the future? 
  # Type: boolean 
  # Default: true 
  Enabled: true 
  # 
  # SERVER_ID 
  # Desc: The unique ID for your server tracked by U2D. 
  # Note: DO NOT CHANGE THIS! 
  # Type: Int 
  ServerID: 0 
SQL: 
  # ---------------SQL Database--------------- 
  # 
  # ENABLE_SQL 
  # Desc: Should Up2Date data be stored in a MySQL database so you can sync linked plugins between servers. 
  # Type: String 
  # Default: false 
  Enable-Sql: false 
  # 
  # HOSTNAME 
  # Desc: Hostname / IP to the MySQL DB, port included. 
  # Type: String 
  Hostname: 0.0.0.0:0000 
  # 
  # USERNAME 
  # Desc: Username Up2Date will use to connect to the database. 
  # Type: String 
  Username: root 
  # 
  # PASSWORD 
  # Desc: Password Up2Date will use to connect to the database. 
  # Type: String 
  Password: '1234' 
  # 
  # DATABASE 
  # Desc: The database that Up2Date will use to store its table. 
  # Type: String 
  Database: db 
  # 
  # TABLENAME 
  # Desc: The name of the table Up2Date will use to store data. 
  # Type: String 
  Tablename: u2d

More documentation in the tutorial video at time 1:00 , or on the wiki .

NOTE: This plugin requires ProtocolLib (It is the only plugin you need to install manually).

Make sure to stay Up 2 Date ;)

Similar projects

Plugin →