games647 / ChangeSkin

Allows your players to change their skin by command
https://dev.bukkit.org/bukkit-plugins/changeskin/
MIT License
187 stars 33 forks source link

Skin dont save #148

Open andramil opened 6 years ago

andramil commented 6 years ago

What behaviour is observed:

Skin dont save after change. I have premium MC, non premium server. When I enter server, I have my premium skin. After command /skin MrPurpose I have skin of MrPurpose, but when I disconnect and enter again, I have my Skin.

Skin saves normally on nonpremium account.

What behaviour is expected:

With this same configuration with older plugin, Skin set by command stay after log out.

Steps/models to reproduce:

logi in -> change skin /skin MrPurpose -> skin set -> disconnect -> log in -> skin back to my normal premium skin -> i cry...

Plugin list:

Environment description

Bungecord (newest), spigot 1.8.8, MYSQL

Plugin version or build number:

139 build

Error Log:

none

Configuration:

# ChangeSkin config

# Here you can specify default skins for player who do not have a skin
# The entries from this list will be selected in random order.
#
# This list should either contain the UUID of the skin owner or the row id inside the skin database.
#
# Lists are created like this:
#default-skins:
#    - 0aaa2c13-922a-411b-b655-9b8c08404695
#    - 069a79f4-44e9-4726-a5be-fca90e38aaf5
#    - 1337 # Row ID inside the database
#
# If this list is empty no skin will be selected
default-skins: 
    - 73808511-bb53-442f-9e26-25af71093582
    - 15fbc1fb-1741-422f-add9-46416e7fa64c

# If the player does not have a skin and hasn't chosen one with /setskin
# this will try to re-download using the username of the player
restoreSkins: true

# Should the skins apply instantly without re-login
# The player will be invisible for a shorten time
instantSkinChange: true

# Should the plugin check for skin specific permissions nodes like
# changeskin.skin.whitelist.uuid
# changeskin.skin.whitelist.* allows all skins
#
# The plugin checks only if the player has one of these and will not check all of them
# Examples:
#   Whitelist:
#       Give the players the permission changeskin.skin.whitelist.uuid
#       or changeskin.skin.whitelist.* for all skins
#
#   Blacklist:
#       Give your players this permission changeskin.skin.whitelist.*
#       and a negative (- before the permission) permission: '-changeskin.skin.whitelist.uuid'
#       |-> This means all skins are allowed except the ones with the uuid in the blacklist list
skinPermission: false

# A number in seconds which the player have to wait before changing the skin again
cooldown: 0

# How many requests should be established to the Mojang API
# This option exists in order to workaround the rate-limiting. Name -> UUID are fetched in the same way like heads
mojang-request-limit: 600

# Only relevant for BungeeCord
# Here you can ignore certain servers in order to make use of lazy loading -> load the player data only
# if they are on the allowed servers
#
# This can be used against bot attacks. If this is empty, nothing will be ignored.
server-blacklist: []
# Lists are created like this:
#server-blacklist:
#    - pvp
#    - lobby

# Actually I don't want that you put your credentials here, but it seems there is no easier way to do it.
# See my statement here: https://www.spigotmc.org/threads/changeskin.138380/page-15#post-1736265
#
# You can follow this guide on how to upload and use a skin:
# https://www.spigotmc.org/threads/changeskin.138380/page-19#post-1792019
#
# Example:
# upload-accounts:
#     - EMAIL:PASSWORD
#     - EMAIL:PASSWORD
upload-accounts: []

# If you have a BungeeCord server, this option might be relevant for you.
# If you activate this option, the permission will be checked on the Bukkit server and only on the Bukkit server.
#
# This requires to install the plugin on the Bukkit server too in order to send the response to the bungeecord server
#
# You still have to give the users the permission on the BungeeCord server in order to execute the command, but the
# Bukkit server will verify if the user has the permissions on the backend server too.
bukkit-permissions: true

# This automatically re-fetches the skin from Mojang if the skin is older than x minutes
# This value should be at least one minute, because that's the rate-limit by Mojang
# -1 disables it
auto-skin-update: -1

# Database configuration
# Warning: If you use BungeeCord, you should switch to MySQL, because BungeeCord has only a driver for MySQL
storage:
    driver: com.mysql.jdbc.Driver
    host: localhost
    port: 3306
    database: ChangeSkin
    username: root
    password: ****
# Single file SQLite database
    #driver: org.sqlite.JDBC
    # File location
    #database: '{pluginDir}/ChangeSkin.db'

# MySQL / MariaDB
# If you using Sponge please change the driver name to org.mariadb.jdbc.Driver
    # It's strongly recommended to enable SSL and setup a SSL certificate if the MySQL server isn't running on the same
    # machine
    # useSSL: false

# HTTP proxies for connecting to the Mojang servers in order to resolve the player name to UUID.
# This is a workaround to prevent rate-limiting by Mojang. These proxies will only be used once your server hit
# the rate-limit or the custom value above.
# Please make sure you use reliable proxies.
proxies:
  # 'IP:Port' or 'Domain:Port'
  # - 'xyz.com:1337'
  # - 'test.com:5131'
games647 commented 5 years ago

Could you make a check against the database if the skin was saved into the database or if it was just incorrectly assigned.

ChanceSD commented 5 years ago

I have exactly the same issue, if the skin is set on bungee console it stays saved, if a player sets it for himself ingame then they lose it after relog.