Categorygithub.com/LockBlock-dev/MinePot
modulepackage
0.0.0-20240717155113-f59045eb6a7c
Repository: https://github.com/lockblock-dev/minepot.git
Documentation: pkg.go.dev

# README

MinePot

GitHub stars

MinePot is a Minecraft Server Honeypot made in Golang. Its goal is to catch Minecraft Server Scanners by listening for Handshake and Ping packets.

See the changelog for the latest updates.

Table of content

Features

  • Listen on any TCP port for incoming Minecraft packets
  • Answer Handshake packets
  • Answer Ping packets
  • Artificial random ping
  • Custom Status Response :
    • Custom version or version mirroring (send the received protocol/version)
    • Fake players
    • Custom MOTD
    • Custom favicon
    • Random protocol/version
  • IP reporting to Abuse IP DB
  • IP reporting to a Discord Webhook
  • History as a CSV formatted .history file

Installation

You can use Docker or install MinePot manually. Here's how:

  • Download go (go 1.20 required).
  • Download or clone the project.
  • Download the binary from the Releases or build it yourself.
  • Configure MinePot.
  • Edit the ExecStart line in minepot.service to the MinePot binary location.
    e.g.: ExecStart=/home/YOUR_USERNAME/MinePot/MinePot
  • Install MinePot by using install.sh. It will setup the tool and start it as a service for you.

Compiling from source

Configuring MinePot

If you already used install.sh, the config can be found in /etc/minepot/config.json.

  • Open the config in your favorite editor.
  • Enable the features you want to use. See Config details for in-depth explanations.
  • Edit the Status Response as you want. You can use mctools MOTD creator for the MOTD.
  • Change the faviconPath to any PNG image you want to use.

Config details

ItemValuesMeaning
debugbooleanEnable debug logs
writeLogsbooleanEnable logs file
logFiletextPath to the logs file
writeHistorybooleanEnable history file
historyFiletextPath to the history file
portnumberTCP port to listen on
pingDelayMinMsnumberMinimum artificial server ping (in milliseconds)
pingDelayMaxMsnumberMaximum artificial server ping (in milliseconds)
idleTimeoutSnumberTime to wait before the connection times out
reportThresholdnumberAmount of packets before being reported
abuseIPDBReportbooleanEnable Abuse IP DB reports
abuseIPDBKeytextAbuse IP DB API key
abuseIPDBCooldownHnumberCooldown between each reports (in hours)
webhookReportbooleanEnable Discord webhook reports
webhookUrltextDiscord webhook URL
webhookCooldownHnumberCooldown between each reports (in hours)
webhookEmbedColortextEmbed hex color
randomVersionbooleanEnable random Minecraft version and protocol in the status response
statusResponsebooleanEnable Status Response
statusResponseDataJSONMinecraft Status Reponse data
faviconPathtextPath to the favicon PNG image

FAQ

  • Q: Do you plan to release a Windows version?
    A: No.

Credits

  • Wiki.vg Minecraft protocol documentation
  • go-mc Minecraft protocol implementation

Copyright

See the license.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author