Spigot 2FA+ | Staff Authentication 2.4.17

Simple 2FA plugin for your Minecraft server.

  1. egg82 submitted a new resource:

    2FAPlus - Simple 2FA plugin for your Minecraft server.

    Read more about this resource...
  2. Looks interesting. I am probably going to use it on my network to secure my account and the accounts of my team members.
    Still I would like to see two additions.
    First one would be a Bungeecord version which would be way better then to put it on every server.
    The second would be to only ask for 2fa if the player executes a command. Then it would be possible to protect the ban and stop command for example even if the account was compromised. Offcours it should then be saved for the rest of the session so you dont need to 2fa every ban, kick or what so ever ^^
    //Edit: just saw it is possible to protect commands :p
  3. Problem is the Bungee version won't be able to protect from things like attacking, moving, etc. I'm thinking up some ways to possibly get something workable.. Er, working, but yeah.

    Also, yes, it's possible to protect any command! Just add it to the list and it'll require 2FA to use (without requiring it for EVERY use, which could get annoying)
  4. mh maybe then the bungee version just to protect commands, chat and server switching?
  5. egg82 updated 2FAPlus with a new update entry:

    Much Bug Fix, Many Service Add

    Read the rest of this update entry...
  6. How would I go about setting up HOTP for myself using a YubiKey? It doesn't appear to be working, am I doing something wrong? @egg82
  7. HOTP with Yubikey basically needs to be set up in the Yubikey configuration utility. Should be available on both Win and Mac.
    When the HOTP code is generated on the server, it'll give you a key in chat (also a QR code that is essentially the key). You'll need to enter that into the HOTP configuration for your Yubikey.
  8. Ah, thanks. I thought just pressing the button would do it, but that works too.
  9. Once the HOTP keys match from server to Yubikey pressing the button will work :D
    Unfortunately it's impossible to do the one-button Yubikey thing that Chrome does because it needs the client to be able to interact with the Yubikey and forward requests to and from the server. As I doubt Mojang will include that into their client jar, it's pretty much a Chrome-only feature for now.
  10. @egg82 I do get this error however, and don't get a map in my inventory.
    Code (Text):
    > 2fa register hotp untuned
    [22:00:54 INFO]: [2FA+] Registering untuned, please wait..
    [22:00:54 INFO]: [2FA+] untuned has been successfully registered.
    [22:00:54 INFO]: [2FA+] Their 2FA account key is -snip-
    [22:00:54 INFO]: [2FA+] Please remember to keep this information PRIVATE!
    [22:00:54 ERROR]: TaskChain Exception on me.egg82.tfaplus.commands.internal.RegisterHOTPCommand$$Lambda$942/1275312567: java.lang.NoSuchMethodError: org.bukkit.map.MapView.getId()I
    [22:00:54 ERROR]: Current Action Index was: 3
    [22:00:54 WARN]: java.lang.Exception: java.lang.NoSuchMethodError: org.bukkit.map.MapView.getId()I
    [22:00:54 WARN]:        at me.egg82.tfaplus.external.co.aikar.taskchain.TaskChain.handleError(TaskChain.java:1203)
    [22:00:54 WARN]:        at me.egg82.tfaplus.external.co.aikar.taskchain.TaskChain.access$600(TaskChain.java:57)
    [22:00:54 WARN]:        at me.egg82.tfaplus.external.co.aikar.taskchain.TaskChain$TaskHolder.run(TaskChain.java:1320)
    [22:00:54 WARN]:        at me.egg82.tfaplus.external.co.aikar.taskchain.TaskChain$TaskHolder.access$100(TaskChain.java:1266)
    [22:00:54 WARN]:        at me.egg82.tfaplus.external.co.aikar.taskchain.TaskChain.lambda$nextTask$19(TaskChain.java:1194)
    [22:00:54 WARN]:        at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:63)
    [22:00:54 WARN]:        at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:423)
    [22:00:54 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:840)
    [22:00:54 WARN]:        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423)
    [22:00:54 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774)
    [22:00:54 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666)
    [22:00:54 WARN]:        at java.lang.Thread.run(Thread.java:748)
    [22:00:54 WARN]: Caused by: java.lang.NoSuchMethodError: org.bukkit.map.MapView.getId()I
    [22:00:54 WARN]:        at me.egg82.tfaplus.utils.MapUtil.sendHOTPQRCode(MapUtil.java:78)
    [22:00:54 WARN]:        at me.egg82.tfaplus.commands.internal.RegisterHOTPCommand.lambda$run$2(RegisterHOTPCommand.java:93)
    [22:00:54 WARN]:        at me.egg82.tfaplus.external.co.aikar.taskchain.TaskChainTasks$LastTask.run(TaskChainTasks.java:70)
    [22:00:54 WARN]:        at me.egg82.tfaplus.external.co.aikar.taskchain.TaskChain$TaskHolder.run(TaskChain.java:1312)
    [22:00:54 WARN]:        ... 9 more
  11. Interesting. What MC version are you running? 1.13?
  12. I'm using 1.12.2.
  13. That's very strange. Looking at 1.12.2's API, the MapView.getId() function id deprecated, but not removed. It was removed fully in 1.13's API, which replaced it with meta instead. By all accounts, that function SHOULD exist.

    Try updating to the latest build of Spigot 1.12.2 (or, preferably, Paper since that's what I test on)
  14. Code (Text):
    [22:14:50 INFO]: This server is running Paper version git-Paper-1594 (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT)
    [22:14:50 INFO]: Checking version, please wait...
    [22:14:50 INFO]: You are running the latest version
    I've noticed the error message says this: NoSuchMethodError: org.bukkit.map.MapView.getId()I
    An "I" at the end?