sign-posts-wrenchInstallation

Getting DupeTrace running on your server is easier than teaching a villager to trade fairly. Let's do this!

What You'll Need

Before we start, make sure you've got:

  • βœ… A PaperMC 1.21+ server (Spigot won't cut it, sorry!)

  • βœ… Java 21 installed

  • βœ… A PostgreSQL database (local or remote – we're flexible)

  • βœ… About 5 minutes of your time

Why PostgreSQL? Simple: speed and scalability. We track a lot of items, and Postgres handles it like a champ. SQLite would cry. MySQL would probably work but... why settle?

Step 1: Download the Plugin

Head over to our Releases pagearrow-up-right and grab the latest DupeTrace-x.x.x-paper.jar file.

⚠️ Important: Download the file ending in -paper.jar, NOT the one with -dev.jar. The dev version is missing dependencies and will throw a tantrum on your server.

Step 2: Drop It In

Move the downloaded .jar file into your server's plugins/ folder. You know the drill.

your-server/
β”œβ”€β”€ plugins/
β”‚   β”œβ”€β”€ DupeTrace-1.2.0-paper.jar  ← Right here!
β”‚   └── (your other plugins)
β”œβ”€β”€ server.jar
└── ...

Step 3: Set Up PostgreSQL

You'll need a PostgreSQL database ready to go. If you don't have one yet:

Option A: Local Database (Quick & Dirty)

  1. Install PostgreSQL on your server

  2. Create a database called dupe_trace:

  3. Note down your username and password (default is usually postgres / postgres)

Use a hosting provider like:

  • AWS RDS

  • DigitalOcean Managed Databases

  • ElephantSQL (free tier available!)

Grab your connection URL, username, and password from your provider's dashboard.

Step 4: Start Your Server

Fire up your server for the first time with DupeTrace installed:

The plugin will create a default config.yml file at plugins/DupeTrace/config.yml and then probably complain that it can't connect to the database. That's expected – we haven't told it where to connect yet!

Step 5: Configure the Database

Stop your server and open plugins/DupeTrace/config.yml in your favorite text editor.

Find the database section and fill in your details:

Connection URL Format

The URL follows this pattern:

Examples:

  • Local: jdbc:postgresql://localhost:5432/dupe_trace

  • Remote: jdbc:postgresql://db.example.com:5432/dupe_trace

  • With IP: jdbc:postgresql://192.168.1.100:5432/dupe_trace

πŸ’‘ Pro Tip: If your database host doesn't use the default port (5432), make sure to change it in the URL!

Step 6: Restart and Verify

Start your server again:

Look for this happy message in your console:

If you see that, congratulations! πŸŽ‰ You're all set.

Troubleshooting

"Missing runtime dependency" Error

Problem: You downloaded the -dev.jar file instead of the -paper.jar file.

Solution: Download the correct file from the releases page and replace the plugin jar.


"Could not connect to database" Error

Problem: Your database credentials are wrong, or DupeTrace can't reach your database.

Solution:

  1. Double-check your url, user, and password in config.yml

  2. Make sure PostgreSQL is running

  3. If using a remote database, check your firewall rules

  4. Test the connection manually using psql or a database client


Plugin Loads But Nothing Happens

Problem: Configuration might be invalid.

Solution: Check your server logs for warnings. DupeTrace validates config values on startup and will log any issues it finds.


What's Next?

Now that DupeTrace is installed and connected, you'll probably want to:

  1. Configure the plugin – Tweak detection sensitivity and behavior

  2. Learn the commands – Test the system and investigate dupes

  3. Set up permissions – Control who gets alerts

Happy dupe hunting! 🎯

Last updated