VelocityPacker

VelocityPacker

A easy plugin to send onetime a resourcepack over a proxy for velocity

154 downloads 2 followers

Velocitypacker

Kotlin Velocity SQLite

A Velocity plugin that automatically sends resource packs to players and stores their acceptance status in a SQLite database.

โœจ Features

  • ๐Ÿ”„ Automatic Resource Pack Sending - Pack is sent on every proxy join
  • ๐Ÿ“Š SQLite Database - Persistent storage of acceptance status
  • ๐Ÿšซ Smart Blocking - Players cannot connect to servers until pack is accepted/declined
  • โšก Auto-Connect - Automatic connection to first server after successful acceptance
  • ๐Ÿ”’ Session Management - No re-sending when switching between backend servers
  • ๐ŸŽ›๏ธ YAML Configuration - Easy customization of all settings
  • ๐Ÿ“‹ Detailed Logs - Comprehensive information about pack status

๐Ÿš€ Installation

1. Download Plugin

# Clone repository
git clone https://github.com/TheLion102009/Velocitypacker.git
cd Velocitypacker

# Build plugin
./gradlew clean shadowJar

2. Install JAR

You can find the compiled JAR in build/libs/Velocitypacker-0.1.jar.

Copy this file to the plugins/ folder of your Velocity server.

3. Start Server

Restart your Velocity server. The configuration file will be created automatically.

โš™๏ธ Configuration

The config.yml is automatically created in the plugins/velocitypacker/ folder:

# Resource pack URL (REQUIRED)
# Must be a direct download URL to a .zip file
resourcePackUrl: https://example.com/resourcepack.zip

# SHA-1 hash of the resource pack (OPTIONAL)
# Format: 40 hexadecimal characters (e.g. a1b2c3d4e5f6...)
# Leave empty if you don't want to use a hash
resourcePackSha1: ""

# Message shown to the player
# Supports Minecraft color codes with ยง
resourcePackPrompt: "ยงaPlease accept the resource pack to play!"

# Kick player if the resource pack is declined
kickOnDecline: true

# Kick player if the download fails
kickOnFailedDownload: true

# Kick message (supports color codes with ยง)
kickMessage: "ยงcYou must accept the resource pack to play!"

Generate SHA-1 Hash

Windows:

certutil -hashfile resourcepack.zip SHA1

Linux/Mac:

sha1sum resourcepack.zip

๐Ÿ”ง How It Works

Player Join Process:

  1. Player connects to proxy โ†’ Resource pack is sent immediately
  2. Server connection blocked โ†’ Player stays in resource pack screen
  3. Pack accepted โ†’ Automatic connection to first available server
  4. Pack declined โ†’ Player is kicked (if configured)

Server Switch Process:

  • Backend server switch โ†’ No re-sending (stored in session)
  • Proxy rejoin โ†’ Pack is sent again (new session)

Database:

  • Location: plugins/velocitypacker/resourcepack.db
  • Stored data: UUID, acceptance status, timestamp

๐Ÿ“‹ Logs

The plugin provides detailed logs:

[INFO] Initializing Velocitypacker...
[INFO] Configuration loaded
[INFO] Database initialized
[INFO] Event listener registered
[INFO] Sent resource pack to player Spieler123
[INFO] Player Spieler123 successfully downloaded the resource pack
[INFO] Connecting Spieler123 to lobby

๐Ÿ› ๏ธ Technical Details

  • Velocity API: 3.4.0-SNAPSHOT
  • Kotlin: 2.0.20-Beta1
  • SQLite: 3.45.0.0
  • SnakeYAML: 2.2
  • Shadow Plugin: For dependency bundling

๐Ÿ—๏ธ Build

# Full build with all dependencies
./gradlew clean shadowJar

# Compile only (without Shadow)
./gradlew build

The final JAR is approximately 16 MB in size and contains all necessary dependencies.

๐Ÿ“ Important Notes

  • Resource Pack URL: Must be a direct .zip download URL
  • No Server Switch Blocks: Players can freely switch between backend servers
  • Session Cleanup: Data is automatically cleaned up on disconnect
  • Database Backup: SQLite file can be easily copied/backed up

๐Ÿ› Troubleshooting

Plugin doesn't load

  • Make sure Velocity 3.4.0-SNAPSHOT is running
  • Check if all dependencies are correctly bundled

Resource pack is not sent

  • Check the resourcePackUrl in the configuration
  • Make sure the URL is accessible

Players are not forwarded

  • Check the server logs for errors
  • Make sure backend servers are available

๐Ÿ“œ License

Created by thelion

๐Ÿค Support

For questions or problems:

  • Create an issue in the GitHub repository
  • Check the logs for error messages
  • Make sure all dependencies are correctly installed

Good luck with your Velocitypacker plugin! ๐ŸŽฎ

No gallery available for this project.

Version Minecraft Loader Download

VelocityPacker 0.2

0.2

1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
velocity
Download

VelocityPacker 0.1

0.1

1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8
velocity
Download