AuthMe

Požadavky

Plugin AuthMe na server přidává funkce jako jsou registrace a přihlašování, čili jde o zabezpečení účtu.

1. Příkazy:

Příkazy

Příkazy pro hráče:

  • /login <heslo>
    Přihlásí tě.
  • /logout
    Odhlásí tě.
  • /register <heslo> <heslo znovu>
    Registruje tě.
  • /unregister <heslo>
    Odregistruje tě.
  • /changepassowrd <staré heslo> <nové heslo>
    Změní ti heslo.
  • /email show
    Ukáže ti tvojí emailovou adresu, kterou jsi zadal.
  • /email add <emailová adresa> <emailová adresa znovu>
    Přidá emailovou adresu.
  • /email change <stará emailová adresa> <nová emailová adresa>
    Změní emailovou adresu.
  • /email recover <emailová adresa>
    Zašle ti na email (pokud ho máš zadaný) tvoje heslo.
  • /email code <potvrzovací kód z emailu>
  • /email setpassowrd <heslo>
    Nastaví ti heslo pro obnovení.
  • /captcha <ověření>

Příkazy pro OP:

  • /authme register <jméno hráče> <heslo>
    Zaregistruje hráče.
  • /authme unregister <jméno hráče>
    Odregistruje hráče.
  • /authme forcelogin <jméno hráče>
    Vynutí přihlášení.
  • /authme password <jméno hráče> <nové heslo>
    Změní heslo hráči.
  • /authme lastlogin <jméno hráče>
    Ukáže informace o posledním přilhášeným hráči.
  • /authme accounts <jméno hráče>
    Vypíše všechny hráče zaregistrované na IP adrese hráče./authme email <jméno hráče> – Napíše emailovou adresu hráče, pokud ho vyplnil.
  • /authme setemail <jméno hráče> <jeho email>
    Změní emailovou adresu hráče.
  • /authme getip <jméno hráče>
    Napíše hráčovu IP adresu.
  • /authme spawn
    Teleportuje na spawn, pokud je nastavený.
  • /authme setspawn
    Nastaví spawn pro AuthMe.
  • /authme firstspawn
    Teleportuje na spawn na který se objeví hráč, který je na serveru poprvé.
  • /authme setfirstspawn
    Nastaví spawn na který se objeví hráč, který je na serveru poprvé.
  • /authme purge <počet dní>
    Vymaže data AuthMe, která jsou starší než počet dní, který se napíše.
  • /authme backup
    Vytvoří zálohu registrovaných uživatelů.
  • /authme resetpos <jméno hráče/*>
    Vymaže poslední pozici určitého hráče, nebo všech.
  • /authme purgebannedplayers
    Vymaže data hráčů, kteří jsou zabanovaní.
  • /authme reload
    Znovu načte config AuthMe.
  • /authme version
    Vypíše informace o pluginu AuthMe.

2. Config:

Hotový config.yml
settings:
    sessions:
        enabled: true
        timeout: 1800
    messagesLanguage: 'cz'
    logLevel: 'FINE'
    useAsyncTasks: true
    restrictions:
        allowChat: false
        hideChat: false
        allowCommands: 
        - '/login'
        - '/register'
        - '/l'
        - '/reg'
        - '/email'
        - '/captcha'
        maxRegPerIp: 5
        minNicknameLength: 3
        maxNicknameLength: 16
        ForceSingleSession: true
        ForceSpawnLocOnJoin:
            enabled: true
            worlds: 
            - 'world'
            - 'world_nether'
            - 'world_the_end'
        SaveQuitLocation: true
        AllowRestrictedUser: false
        AllowedRestrictedUser: []
        banUnsafedIP: false
        kickNonRegistered: false
        kickOnWrongPassword: false
        teleportUnAuthedToSpawn: false
        allowMovement: false
        timeout: 30
        allowedNicknameCharacters: '[a-zA-Z0-9_]*'
        allowedMovementRadius: 100
        ProtectInventoryBeforeLogIn: true
        DenyTabCompleteBeforeLogin: false
        displayOtherAccounts: true
        spawnPriority: 'authme,essentials,multiverse,default'
        maxLoginPerIp: 3
        maxJoinPerIp: 3
        noTeleport: false
        allowedPasswordCharacters: '[\x21-\x7E]*'
        otherAccountsCmdThreshold: 0
        otherAccountsCmd: 'Hrac %playername% ma vice uctu!'
    GameMode:
        ForceSurvivalMode: false
    unrestrictions:
        UnrestrictedName: []
    security:
        minPasswordLength: 5
        passwordMaxLength: 30
        passwordHash: 'SHA256'
        doubleMD5SaltLength: 8
        legacyHashes: []
        pbkdf2Rounds: 10000
        unsafePasswords: 
        - '123456'
        - 'password'
        - 'qwerty'
        - '12345'
        - '54321'
        - '123456789'
        - 'help'
    registration:
        enabled: true
        messageInterval: 3
        force: true
        type: 'PASSWORD'
        secondArg: 'CONFIRMATION'
        forceKickAfterRegister: false
        forceLoginAfterRegister: false
    useWelcomeMessage: true
    broadcastWelcomeMessage: false
    delayJoinMessage: false
    customJoinMessage: 'Hrac {DISPLAYNAME} se pripojil.'
    removeUnloggedLeaveMessage: false
    removeJoinMessage: false
    removeLeaveMessage: false
    applyBlindEffect: false
    preventOtherCase: true
GroupOptions:
    enablePermissionCheck: false
    registeredPlayerGroup: ''
    unregisteredPlayerGroup: ''
Email:
    mailSMTP: 'smtp.gmail.com'
    mailPort: 465
    useTls: true
    mailAccount: ''
    mailPassword: ''
    mailAddress: ''
    mailSenderName: ''
    RecoveryPasswordLength: 8
    mailSubject: 'Your new AuthMe password'
    maxRegPerEmail: 1
    recallPlayers: false
    delayRecall: 5
    emailBlacklisted: 
    - '10minutemail.com'
    emailWhitelisted: []
    generateImage: false
    emailOauth2Token: ''
Hooks:
    multiverse: true
    bungeecord: false
    sendPlayerTo: ''
    disableSocialSpy: false
    useEssentialsMotd: true
Protection:
    enableProtection: false
    enableProtectionRegistered: true
    countries: 
    - 'US'
    - 'GB'
    countriesBlacklist: 
    - 'A1'
    enableAntiBot: true
    antiBotInterval: 5
    antiBotSensibility: 10
    antiBotDuration: 10
    antiBotDelay: 60
Purge:
    useAutoPurge: false
    daysBeforeRemovePlayer: 60
    removePlayerDat: false
    removeEssentialsFile: false
    defaultWorld: 'world'
    removeLimitedCreativesInventories: false
    removeAntiXRayFile: false
    removePermissions: false
Security:
    SQLProblem:
        stopServer: true
    console:
        removePassword: true
        logConsole: true
    captcha:
        useCaptcha: false
        maxLoginTry: 5
        captchaLength: 5
        captchaCountReset: 60
    tempban:
        enableTempban: false
        maxLoginTries: 10
        tempbanLength: 480
        minutesBeforeCounterReset: 480
    recoveryCode:
        length: 8
        validForHours: 4
        maxTries: 3
        passwordChangeTimeout: 2
    emailRecovery:
        cooldown: 60
limbo:
    persistence:
        type: 'INDIVIDUAL_FILES'
        distributionSize: 'SIXTEEN'
    restoreAllowFlight: 'RESTORE'
    restoreFlySpeed: 'MAX_RESTORE'
    restoreWalkSpeed: 'MAX_RESTORE'
BackupSystem:
    ActivateBackup: false
    OnServerStart: false
    OnServerStop: true
    MysqlWindowsPath: ''

3. MySQL a AntiBot:

MySQL a AntiBot config
DataSource:
    backend: 'SQLITE'
    caching: true
    mySQLHost: '127.0.0.1'
    mySQLPort: '3306'
    mySQLUseSSL: true
    mySQLUsername: 'authme'
    mySQLPassword: 'HESLO'
    mySQLDatabase: 'authme'
    mySQLTablename: 'authme'
    mySQLColumnId: 'id'
    mySQLColumnName: 'username'
    mySQLRealName: 'realname'
    mySQLColumnPassword: 'password'
    mySQLColumnEmail: 'email'
    mySQLColumnLogged: 'isLogged'
    mySQLColumnIp: 'ip'
    mySQLColumnLastLogin: 'lastlogin'
    mySQLlastlocX: 'x'
    mySQLlastlocY: 'y'
    mySQLlastlocZ: 'z'
    mySQLlastlocWorld: 'world'
    mySQLlastlocYaw: 'yaw'
    mySQLlastlocPitch: 'pitch'
    poolSize: -1
Protection:
    enableProtection: false
    enableProtectionRegistered: true
    countries: 
    - 'US'
    countriesBlacklist: 
    - 'A1'
    enableAntiBot: true
    antiBotInterval: 5
    antiBotSensibility: 10
    antiBotDuration: 10
    antiBotDelay: 60

Vysvětlení:

  • 127.0.0.1 = IP databázového serveru (mySQLHost:‘127.0.0.1‚)
  • 3306 = Port databázového serveru (mySQLPort:‘3306‚)
  • authme = Název uživatele (mySQLUsername:‘authme‚)
  • HESLO = Heslo k databázi (mySQLPassword:‘HESLO‚)
  • authme = Název databáze (mySQLDatabase:‘authme‚)
  • US = Země, ze kterých je povoleno se připojit na server (- ‚US‚)
  • A1 = Země, ze kterých je zakázáno se připojit na server (- ‚A1‚)

4. Instalace češtiny:

  1. Stáhneme překlad zde.
  2. Vložíte .yml soubor do home/minecraft/plugins/AuthMe/messages.
  3. Nastavíme v configu „messagesLanguage: en“ na „messagesLanguage: cz“
  4. Znovu načteme plugin příkazem /authme reload.

5. Práva:

  • authme.player.* – Práva pro hráče.
  • authme.admin.* – Práva pro adminy.

Podrobněji popsané práva zde.