ElDonations
Complete Setup Guide — Minecraft donation integration for Tebex, with manual payments, Discord embeds, GG Waves, milestones, leaderboards, and more.
Installation
- Stop your Minecraft server.
- Place the ElDonations JAR inside:
/plugins/ - Start the server.
- ElDonations will create:
/plugins/ElDonations/ - Configure your store connection.
- Run:
/ed status
Updating
- Stop the server.
- Delete the old ElDonations JAR only.
- Upload the new JAR.
- Do not delete your
plugins/ElDonations/folder. - Start the server.
Your donation history, milestone claims, transaction records, and settings remain intact.
Main Files
plugins/ElDonations/
├── config.yml
├── stores.yml
├── milestones.yml
├── top-donor-rewards.yml
├── giftcards.yml
├── sounds.yml
├── lang/
│ └── en_US.yml
├── embeds/
│ └── purchase.yml
└── data/
config.yml
Controls purchase broadcasts, GG Wave, donation goals, Discord, BossBar, filters, store URL, and leaderboards.
stores.yml
Connects to Tebex, external command bridge, or CraftingStore.
milestones.yml
Defines milestone requirements, GUI layout, rewards, and claim states.
top-donor-rewards.yml
Configures weekly, bi-weekly, or monthly top-supporter rewards.
lang/en_US.yml
Player-facing messages, broadcast text, titles, and Discord wording.
Tebex Setup
ElDonations connects using the Game Server Secret — no webhook port required.
Open plugins/ElDonations/stores.yml:
tebex:
enabled: true
game-server-secret: "YOUR_GAME_SERVER_SECRET"
goal-id: 0
poll-interval-seconds: 30
payment-check-limit: 25
request-timeout-seconds: 10
sync-existing-on-first-run: false
Game Server Secret
Enter your Tebex Game Server Secret — not your webhook secret. Keep this private.
Goal ID
If using a Tebex Community Goal, enter its numeric ID (found at the end of the goal URL). Otherwise, use 0.
Polling
ElDonations checks Tebex every poll-interval-seconds (default 30).
First Tebex Connection
After configuring stores.yml:
/ed reload
/ed tebex
Successful output:
ElDonations » Tebex Info Status: Connected | Store: Your Store
Use /ed status to check API connection, Discord, Goal ID, PlaceholderAPI, and donation history.
How Purchases Work
When a completed purchase is detected:
- Duplicate check and filter validation.
- Transaction saved; totals and leaderboards update.
- Milestone and top-donor progress updated.
- Donation goal progress checked.
- Broadcast, sound effects, and Discord embed sent.
- GG Wave starts (if enabled).
- Configured console commands execute.
Records persist across restarts.
Purchase Testing
/ed testPurchase
Or specify values:
/ed testPurchase 25.00 Deshaj VIP Rank
Tests announcements, player head, sounds, titles, Discord embed, and GG Wave.
Test purchases do not affect real totals.
Manual Payments
/ed manualPayment <player> <amount> [package]
Example:
/ed manualPayment Deshaj 25.00 PayPal Donation
Affects totals, goal, milestones, leaderboards, top-donor rewards, recent donations, broadcasts, Discord, and GG Wave.
Donation Goal
Manual payments are added to the in-game goal but do not affect Tebex's Community Goal.
CraftingStore / External Bridge
Enable in config.yml:
command-bridge:
enabled: true
console-only: true
Command format:
ed receive craftingstore <player> <amount> <currency> <transaction> <package>
Example:
ed receive craftingstore Deshaj 20.00 USD TX123456 VIP Rank
Keep console-only: true for security.
Purchase Filters
Ignore specific players or packages in config.yml:
filters:
players:
- "ExampleIgnoredPlayer"
package-ids:
- "0000000"
package-names:
- "Example Ignored Package"
Filtered purchases skip totals, broadcasts, Discord, GG Waves, and leaderboards.
GG Wave
gg-wave:
enabled: true
duration-seconds: 25
trigger-words:
- "gg"
- "pog"
- "nice"
Each player can claim the reward once per wave.
reward:
enabled: true
amount: 1000.00
commands:
- "eco give {gg_player} {reward_amount}"
Rainbow GG Gradient
rainbow:
enabled: true
text: "GG"
bold: true
palette:
- "#FF0067"
- "#FF9F43"
- "#FFD900"
- "#50FA85"
- "#49DAF6"
- "#FD73F4"
Available via {rainbow_gg} and %gg_wave_gradient%.
Donation Milestones
Players use /milestones. Milestones are based on all-time donation total.
milestones:
level_1:
required_amount: 10.00
slot: 10
material: "DIAMOND"
name: "FFD05A&lLEVEL 1"
lore:
- "&7Donate &f$10.00&7 total to unlock."
- "&7Your total: &f${donated_amount}"
repeatable: false
commands:
- "eco give %player_name% 5000"
Tracks Locked, Unlocked, and Claimed states.
Top Donator Rewards
Enable:
modules:
top-donor-rewards:
enabled: true
Configure in top-donor-rewards.yml:
period: "monthly"
minimum-donated: 0.01
reward:
commands:
- "eco give %player_name% 50000"
broadcast-message: "FFD05A&lTOP SUPPORTER &8• &f%player_name% &7won the %period% reward with &a$%amount%&7 donated!"
Supports weekly, biweekly, and monthly periods.
Donation Goal
Use /ed goal to display current amount, target, remaining, percentage, and progress bars.
Example: $750 / $1,000
Donation Goal BossBar
modules:
goal-bossbar:
enabled: true
goal-bossbar:
refresh-seconds: 2
text: "FFD05A&lDONATION GOAL &8• &f${goal_current} &7/ &f${goal_target} &8(&a{goal_percent}%&8)"
color: "GREEN"
style: "SEGMENTED_20"
goal-amount: 1000.00
current-source: "tebex"
Sources: tebex, alltime, monthly, weekly.
Discord Integration
discord:
enabled: true
webhook-url: "YOUR_DISCORD_WEBHOOK"
username: "ElDonations"
avatar-url: ""
color: "#FFD05A"
Embed design is in embeds/purchase.yml. Test with /ed testDiscord.
Transaction Lookup
/el lookup <player>
Example: /el lookup Deshaj. Use /el lookup Deshaj 2 for more pages.
Shows date, amount, package, transaction ID, and status (10 per page).
Recent Donations
/ed recent
Or /ed recent 10 (max 10).
Donation Leaderboards
/ed top alltime
/ed top monthly
/ed top weekly
Number of entries controlled by leaderboard.entries.
Gift Cards
Local in-game gift cards — not Tebex coupons.
/ed gift create fixed 10 FREE10
Or auto-generate: /ed gift create fixed 10
Redeem: /ed gift redeem FREE10
giftcards:
redeem-commands:
- "eco give {player} {value}"
Recommended Setup Checklist
- Install ElDonations.
- Configure Tebex Game Server Secret.
- Add Community Goal ID (if used).
- Set store URL.
- Configure Discord.
- Set up GG Wave rewards.
- Configure milestones.
- Enable Top Donator Rewards (optional).
- Enable Goal BossBar (optional).
- Run
/ed reload. - Check
/ed statusand/ed tebex. - Test with
/ed testPurchase 10 Deshaj Test Rank. - Test Discord with
/ed testDiscord. - Test GG Wave:
/ed startGGwave, typegg, then/ed endGGwave.
Common Problems
/ed tebex says Not Connected
Ensure tebex.enabled: true and your Game Server Secret is correct.
Purchase Does Not Appear
Wait for the next poll cycle (default 30 seconds).
Discord Does Not Send
Check discord.enabled: true and the webhook URL, then run /ed testDiscord.
GG Does Not Trigger
Confirm gg-wave.enabled: true. Force-start with /ed startGGwave.
Milestones Cannot Be Claimed
Verify the module is enabled, the player has enough total donations, and commands are valid.
Permissions
- Full Administration (Default: OP)
eldonations.admin - Store Receive Bridge (Default: OP)
eldonations.receive - Transaction Lookup (Default: OP)
eldonations.lookup - Manual Payments (Default: OP)
eldonations.manualpayment - Milestones (Default: Everyone)
eldonations.milestones
Commands
Aliases: /eldonations, /ed, /el, /donations
General
/ed help
/ed status
/ed tebex
/ed recent [1-10]
/ed top [alltime|monthly|weekly]
/ed goal
/milestones
/ed gift redeem <code>
Staff
/el lookup <player> [page]
Administrative
/ed reload
/ed testPurchase [amount] [player] [package]
/ed manualPayment <player> <amount> [package]
/ed testDiscord
/ed testGoal
/ed testSale
/ed startGGwave
/ed endGGwave
/ed preview
Store Integration (console only)
/ed receive <tebex|craftingstore> <player> <amount> <currency> <transaction> <package>
PlaceholderAPI
Identifier: %eldonations_...%
Goal
%eldonations_goal_current%
%eldonations_goal_tebex_amount%
%eldonations_goal_manual_amount%
%eldonations_goal_target%
%eldonations_goal_remaining%
%eldonations_goal_percent%
%eldonations_goal_bar%
%eldonations_discord_goal_bar%
Totals
%eldonations_total_alltime%
%eldonations_total_monthly%
%eldonations_total_weekly%
Donation Counts
%eldonations_count_alltime%
%eldonations_count_monthly%
%eldonations_count_weekly%
Latest Donation
%eldonations_last_player%
%eldonations_last_package%
%eldonations_last_package_id%
%eldonations_last_amount%
%eldonations_last_currency%
%eldonations_last_store%
%eldonations_last_transaction%
Top Donator
%eldonations_top_donator_alltime%
%eldonations_top_donator_alltime_amount%
%eldonations_top_donator_monthly%
%eldonations_top_donator_monthly_amount%
%eldonations_top_donator_weekly%
%eldonations_top_donator_weekly_amount%
Rank-specific placeholders (e.g., %eldonations_top_alltime_1_name%) also supported.
GG Wave
%eldonations_gg_active%
%eldonations_gg_count%
%eldonations_gg_donor%
%eldonations_gg_seconds_left%
Store
%eldonations_store_url%
Data Storage
Persistent data is stored in plugins/ElDonations/data/:
history.tsv— completed donations for totals and leaderboards.transactions.tsv— lookup records.seen-transactions.txt— prevents duplicate processing.milestone-claims.tsv— claimed milestone rewards.giftcards.tsv— created and redeemed gift cards.
Do not delete the data folder unless you want to reset statistics.