Home›Java›Mods›UniquePin
ModsJava

UniquePin

Java mod listed for Minecraft 1.21–26.x. Downloads from the MC Java Mods app on Android.

by uniquecraft · on Modrinth

⬇ Download on Modrinth
UniquePin — screenshot 1UniquePin — screenshot 2

UniquePin

A lightweight Paper and Folia plugin that requires players to enter a secure 6-digit PIN code using an in-game dialog keypad every time they join the server.

The plugin features secure SHA-256 hashing with individual salts, strict brute-force protection, login attempt limits, and complete movement and action restrictions until verification is successful.

It is designed for servers that want to eliminate session hijacking, prevent unauthorized account access, and ensure maximum security right upon player connection.

dialog

repin

To change your PIN using the RePIN button, you first have to enter your current 6-digit PIN so the system can verify your identity. Just tap out the numbers on the keypad there are delete and back/exit buttons if you make a mistake. As soon as your old PIN is confirmed, it moves you right along to set your new PIN.

Configuration

# =====================================================
# UniquePin - config.yml
# Paper / Folia 1.21.11 | MiniMessage + HEX supported
# =====================================================
# สำคัญ: ปลั๊กอินนี้ "ไม่มี SESSION" โดยตั้งใจ
# ผู้เล่นต้องใส่ PIN ใหม่ "ทุกครั้ง" ที่เข้าเซิร์ฟเวอร์
# (no-session: true เปลี่ยนไม่ได้ ป้องกันการแอบจำสถานะปลดล็อค)

no-session: true

pin:
  # ความยาวพิน (dialog input + ปุ่มกด ยึดค่านี้ทั้งหมด)
  length: 6
  # อนุญาตเฉพาะตัวเลข 0-9 เท่านั้น
  numeric-only: true
  # ห้ามพินซ้ำเลขเดียวเช่น 000000 / 111111
  forbid-repeating-digit: true
  # รายการพินต้องห้ามเพิ่มเติม (เช่น 123456)
  forbidden:
    - "123456"
    - "654321"
    - "000000"
    - "111111"
    - "121212"

security:
  # SHA-256 + salt สุ่มรายคน (ไม่เก็บพินจริงลงดิสก์)
  hash-algorithm: "SHA-256"
  salt-bytes: 16
  # หน่วงเวลาตอบสนองกัน brute-force (มิลลิวินาที)
  verify-delay-ms: 350
  # จำกัดกดปุ่ม dialog ต่อวินาที กันสแปมแพ็กเก็ตจาก hack client
  max-clicks-per-second: 8

login:
  # ใส่ผิดได้กี่ครั้งก่อนโดนล็อคพิน
  max-attempts: 3
  # นานเกินกี่นาที (ยังล็อคอยู่) = เตะออก
  timeout-minutes: 5
  # เวลาล็อคพินเมื่อใส่ผิดครบ 3 ครั้ง (วินาที)
  lockout-seconds: 60

# ขณะยังล็อคอยู่ ห้ามทำอะไรบ้าง (true = บล็อค)
lock:
  move: true
  chat: true
  # คำสั่งที่ "อนุญาต" ขณะล็อค (นอกนั้นบล็อคหมด กันใช้คำสั่งข้าม)
  allowed-commands:
    - "/pin"
    - "/repin"
    - "/pincreate"
  tab-complete: true
  interact: true
  break-block: true
  place-block: true
  damage-incoming: true
  damage-outgoing: true
  hunger: true
  drop-item: true
  pickup-item: true
  inventory-click: true
  inventory-open: true
  teleport: true
  portal: true
  bed-enter: true
  edit-book: true
  swap-hand: true
  change-held-slot: true
  toggle-flight: true
  # เอฟเฟกต์ตอนล็อค (กัน hack เดิน) - SLOWNESS
  freeze-effects: true
  # จอมืด (DARKNESS) ขณะอยู่หน้าพิน ปลดล็อคแล้วหาย - true = เปิด
  darkness-effect: true
  # อนุญาตให้ตกลงมาตามปกติขณะล็อค (ไม่ลอยค้าง ไม่โดน fly-kick)
  allow-falling: true
  # ถ้าตำแหน่งขยับเกินกี่บล็อคขณะล็อค = ดึงกลับ (กัน teleport hack)
  max-position-drift: 1.5

dialog:
  # รูปแบบ UI: AUTO (เปิด Paper Dialog ถ้าเซิร์ฟเวอร์รองรับ ถ้าไม่รองรับจะเปิด Chest GUI อัตโนมัติ) | DIALOG | GUI
  mode: "AUTO"
  # หน่วงก่อนเปิด dialog หลังจอย (ticks) - 2 ticks เพื่อความรวดเร็วและไม่หลุดหน้าจอ
  join-delay-ticks: 2
  # watchdog: เปิด dialog ซ้ำทันทีหากถูกปิดหรือถูกขยับตัว (วินาที)
  reopen-enabled: true
  reopen-interval-seconds: 1
  # บังคับปุ่ม keypad เป็นหลัก (ห้ามพิมพ์เอง -> ใช้ค่าจากปุ่มเท่านั้น)
  keypad-authoritative: true

storage:
  # YAML | SQLITE | MYSQL (ถ้าไดรเวอร์ไม่พร้อมจะ fallback YAML อัตโนมัติ ไม่พัง)
  type: YAML

debug: false
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

File checked by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more