Giter VIP home page Giter VIP logo

changeskin's Introduction

ChangeSkin

Description

This plugin allows your players to change their skins with a simple command. You can choose every skin another Minecraft user currently has. It is also possible to set a custom standard skin. If you want to, this plugin can set this standard skin for all players who still have the default Steve or Alex skin.

Security

Software security is important. In order to inform people quickly and get patches deployed promptly, this projects discloses issues transparently and detailed.

Issue Severity Affected Patched Impact
#205 Moderate Bungee Module after 92ed029 - (2.3.2+) ba1957a DOS (Denial-of-Service) Modified Minecraft clients could send malicious plugin messages (internal not chat). This causes an exception. Exceptions are CPU intensive if they are spammed a lot!

If you have any questions, please open a new issue or send a private message on Spigot. Later should be also used for reporting in order to work on fix before publicly disclosing it.

Features

  • Skins for offline mode servers
  • Upload custom skins (using the /skinupload command)
  • BungeeCord and Sponge support
  • SQL Storage
  • Change your skin - Every skin which has ever uploaded to Mojang is allowed
  • Lightweight
  • Easy to use
  • Implemented cache to benefit performance
  • Nearly no mojang rate limits due to caching
  • No client modification needed
  • Possibility to set a standard skin

Commands

/setskin <uuid> [keep] - Sets your skin to be the same as the player with the selected uuid.
/setskin <username> [keep] - Sets the skin equal to the owner of that Mojang account with the given username.
/setskin reset - Resets the skin of the invoker to his one.
/setskin <onlinePlayer> <newSkinUUID|newSkinPlayerName> [keep]
/skinupdate [onlinePlayer] - Invalidates the database entry and fetches the fresh skin from the Mojang servers.
/skinupload <url> - Upload a skin to a mojang account
/skin-select <name> - Choose a skin from the database which has a specified name
/skinskull - Changes the skin of a holding skull from the database which has a specified name
/skin-info - Show details about the currently assigned skin like skin url owner name, uuid and more

Keep prevents the skin from auto updating. See the config for more information about auto updating.

/skin, /set-skin, /changeskin can used as an alias for /setskin

Permissions

For Sponge users:

Sponge uses a different permissions model. This means changeskin.command.setskin includes all child permissions.
(Including changeskin.command.setskin.other). To workaround this please use changeskin.command.<command>.base
instead of changeskin.command.<command> to give the permission only to modify their own skin.
**This workaround will be removed in the next major version 4.0. Then the Bukkit and BungeeCord will have the same logic.
  • changeskin.command.skinupdate - Command to refresh a player's own skin
  • changeskin.command.skinupdate.other.uuid - Allows to update the skin of that specific user
  • changeskin.command.skinupdate.other.* - Allowed to update the skins of all players
  • changeskin.command.setskin.* - Includes all the commands below
  • changeskin.command.setskin - Set your own skin
  • changeskin.command.setskin.other - Set the skin of other players
  • changeskin.command.skinselect - Select a skin from the database
  • changeskin.command.skinupload - Upload a skin to one of the configured accounts
  • changeskin.command.skinskull - Use the skull command
  • changeskin.command.skininfo - Use the info command

Whitelist and blacklist permissions

Whitelist

  • changeskin.skin.whitelist.uuid - Allow this specific skin
  • changeskin.skin.whitelist.* - Allows all skins

Blacklist

  • changeskin.skin.whitelist.*
  • -changeskin.skin.whitelist.uuid

=> This means all skins are allowed except the ones with the uuid in the blacklist list

Requirements

  • Java 8+
  • Minecraft server software
    • Spigot 1.8.8+ or any fork of it (ex: Paper)
    • Sponge 7+
    • Latest BungeeCord (Keep in mind that BungeeCord is backwards compatible)

Network requests

This plugin performs network requests to:

Development builds

Development builds of this project can be acquired at the provided CI (continuous integration) server. It contains the latest changes from the Source-Code in preparation for the following release. This means they could contain new features, bug fixes and other changes since the last release.

Nevertheless builds are only tested using a small set of automated and a few manual tests. Therefore they could contain new bugs and are likely to be less stable than released versions.

https://ci.codemc.org/job/Games647/job/ChangeSkin/changes

Upload a skin to the database

  1. Put a Minecraft account into the config
  2. Check the logs if it's authenticated correctly (ChangeSkin startup).
  3. Type /skin-upload [url] (example: https://i.imgur.com/4lV1m26.png)
  4. Now you see the skin id it's saved as
  5. Type /skin-select 3 or /skin-select skin-3

How to install on BungeeCord

  1. Install the plugin on both BungeeCord and Bukkit server
  2. Activate BungeeCord support in your Spigot configuration (bungeecord: true in spigot.yml)
  3. Check the settings of the ChangeSkin config in the BungeeCord instance
    • BungeeCord doesn't support SQLite per default, so you should change the configuration to MySQL or MariaDB

changeskin's People

Contributors

albemiglio avatar badbones69 avatar bodyash avatar dependabot-preview[bot] avatar dependabot[bot] avatar donotspampls avatar games647 avatar linsaftw avatar omerbengera avatar shynixn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

changeskin's Issues

Cannot upload skins

when i try to upload a skin with the commands /skinupload http://imgur.com/a/oB9zT i have this error
"An internal error ocurred while attempting to perform this command"
and i can't wirte command skinname because i have and error on my console
skin select don't work

/skinupldate:
captura de pantalla - 290816 - 13-08-15

/skinname
captura de pantalla - 290816 - 13-09-38

thanks about the plugin

permissions not work

player not can change skin

only admin can change the skin

java 8
PaperSpigot 1.9.2

permissions
- changeskin.skin.*
- changeskin.skin.playerName
- changeskin.skin.uuid
- changeskin.command.setskin

logs on client
[19:19:18] [Client thread/INFO]: [CHAT] I'm sorry, but you do not have permission to perform this command. Please contact the server administrators if you believe that this is in error.

logs on console
[19:18:13] [Server thread/INFO]: mtqsen issued server command: /skin QiiQii

i not can change my skin

Could not load ChangeSkin

[02:07:30] [Server thread/ERROR]: Could not load 'plugins/ChangeSkin.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.NoSuchMethodError: guava10.com.google.common.cache.CacheBuilder.build(Lguava10/com/google/common/cache/CacheLoader;)Lguava10/com/google/common/cache/LoadingCache;
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:149) ~[JavaPluginLoader.class:1.7.10-1614.UNOFFICIAL]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:334) ~[SimplePluginManager.class:1.7.10-1614.UNOFFICIAL]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:256) [SimplePluginManager.class:1.7.10-1614.UNOFFICIAL]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.java:343) [CraftServer.class:1.7.10-1614.UNOFFICIAL]
    at net.minecraft.world.storage.SaveHandler.initBukkitData(SaveHandler.java:462) [ayq.class:?]
    at net.minecraft.world.storage.SaveHandler.func_75757_d(SaveHandler.java:138) [ayq.class:?]
    at net.minecraft.world.World.<init>(World.java:374) [ahb.class:?]
    at net.minecraft.world.WorldServer.<init>(WorldServer.java:162) [mt.class:?]
    at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:375) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:337) [lt.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:643) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
Caused by: java.lang.NoSuchMethodError: guava10.com.google.common.cache.CacheBuilder.build(Lguava10/com/google/common/cache/CacheLoader;)Lguava10/com/google/common/cache/LoadingCache;
    at com.github.games647.changeskin.core.ChangeSkinCore.buildCache(ChangeSkinCore.java:48) ~[?:?]
    at com.github.games647.changeskin.bukkit.ChangeSkinBukkit.<init>(ChangeSkinBukkit.java:41) ~[?:?]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_101]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_101]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_101]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_101]
    at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_101]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:201) ~[PluginClassLoader.class:1.7.10-1614.UNOFFICIAL]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:145) ~[JavaPluginLoader.class:1.7.10-1614.UNOFFICIAL]
    ... 11 more

PERMISSION FEATURE REQUEST

Let the spigot module handle the permission checking
With this method we eliminate the need to use bungee permission and have more freedom to give permissions per server not all server. We also eliminate the need for sql permissions databases.
Reason is want to use the plugin via bungeecord and i want a per player permission per server.

Example:
STEPS:

  1. players types command
  2. bungeecord module receives command
  3. bungeecord module assign an id to the command
  4. bungeecord module save the the username, servername the command came from, command and the id to a cache
  5. bungee module sends playername / command / id to spigot module to check for permission
  6. spigot module recieves the playername / command / id and checks if playername has permission node from groupmanager or pex for that command
  7. if player has permission node then spigot module send true to bungee module with the command id else send false to bungee module with the command id
  8. bungee module listens and receive the command id / permission(true/false)
  9. if command id's permission = true bungeecord module finds the command id saved in the cache and let it excecute the command else send message to playernames server "you dont have permission to this command"
  10. bungee module cleans the instance from the cache.

You can setup a time interval for command expiration if the command does not receive confirmation in 3 seconds then send send message to server source to playername "Command cancelled" and bungee module cleans cache.

thank you in advance and more support!

BungeeCord not working SKIN!

20:38:07 [FINE] [ChangeSkin] Making UUID->Name request for Gabriel0Augusto
20:38:09 [SEVERE] [ChangeSkin] null
java.lang.NoSuchFieldException: loginProfile
at java.lang.Class.getDeclaredField(Unknown Source)
at com.github.games647.changeskin.bungee.ChangeSkinBungee.applySkin(ChangeSkinBungee.java:142)
at com.github.games647.changeskin.bungee.tasks.SkinUpdater.run(SkinUpdater.java:75)
at net.md_5.bungee.scheduler.BungeeTask.run(BungeeTask.java:63)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
20:38:14 [INFO] [Gabriel0Augusto] -> UpstreamBridge has disconnected
20:38:14 [INFO] [Gabriel0Augusto] disconnected with: ยงf[Proxy] Lost connection to server.
20:38:14 [INFO] [Gabriel0Augusto] <-> DownstreamBridge <-> [hub1] has disconnected
20:38:16 [INFO] [/177.13.227.4:46997] <-> InitialHandler has connected
20:38:16 [SEVERE] [ChangeSkin] null
java.lang.NoSuchFieldException: loginProfile
at java.lang.Class.getDeclaredField(Unknown Source)
at com.github.games647.changeskin.bungee.ChangeSkinBungee.applySkin(ChangeSkinBungee.java:142)
at com.github.games647.changeskin.bungee.listener.JoinListener.onPlayerLogin(JoinListener.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.md_5.bungee.event.EventHandlerMethod.invoke(EventHandlerMethod.java:19)
at net.md_5.bungee.event.EventBus.post(EventBus.java:46)
at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:377)
at net.md_5.bungee.connection.InitialHandler$6$1.run(InitialHandler.java:501)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:358)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
at java.lang.Thread.run(Unknown Source)

Using last version of Bungee, and Spigot 1.10.2!

Skins stop working on server restart

When I first added the plugin, everything worked perfectly, skins loaded with no problems. Though, now that I restarted the server, skins don't load anymore. I run an offline Spigot 1.9 server.

I have noticed that if I stop the server, delete the "ChangeSkin.db" file, and start it again, the plugin works just as well as the first time I ran it. But I don't want to delete that file every time I have to restart the server, as it gets annoying.

I use the plugin version 0.8, because version 0.9 throws an error.
v 0.9 error: http://hastebin.com/eyatodemaj.sm

"default skin" work only sometimes, no errors

hi i seetted like this the config:
default-skins:
- 293364af-825b-4ab9-8702-7d85dee891a7

I still see some steeves and alex in my server, instead for other people it work, no errors on log

Add skins to tab

This is not an issue

Hi!
Your plugin is really nice, but I want to request one thing. It doesn't fix the skins in TAB. So there's no player heads. Example: http://prntscr.com/bwxrva (in a cracked server which it works).

Could you add it?

Thanks!

[Suggestion/explain] bukkit permission

I would know if bukkit-permission allow the user to execute the command only in the server where changeskin is installed, by checking pex permission, and then allow the command to be executed in the bukkit server, because on the istruction you told that you need also to give to the user the permision on bungee, but i don't know why, is possible to avoid this?

org.bukkit.Bukkit.spigot()Lorg/bukkit/Server$Spigot

Hey.
So i tried this in every server build i could think of, but neither Spiggot or Bukkit Work with this plugin.
Here's my console output in Server Load:
[05:18:48 ERROR]: Could not load 'plugins/ChangeSkin.jar' in folder 'plugins' org.bukkit.plugin.UnknownDependencyException: ProtocolLib at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:219) [craftbukkit-1.9.2.jar:git-Bukkit-22dcde5] at org.bukkit.craftbukkit.v1_9_R1.CraftServer.loadPlugins(CraftServer.java:293) [craftbukkit-1.9.2.jar:git-Bukkit-22dcde5] at org.bukkit.craftbukkit.v1_9_R1.CraftServer.(CraftServer.java:255) [craftbukkit-1.9.2.jar:git-Bukkit-22dcde5] at net.minecraft.server.v1_9_R1.PlayerList.(PlayerList.java:69) [craftbukkit-1.9.2.jar:git-Bukkit-22dcde5] at net.minecraft.server.v1_9_R1.DedicatedPlayerList.(SourceFile:14) [craftbukkit-1.9.2.jar:git-Bukkit-22dcde5] at net.minecraft.server.v1_9_R1.DedicatedServer.init(DedicatedServer.java:182) [craftbukkit-1.9.2.jar:git-Bukkit-22dcde5] at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:506) [craftbukkit-1.9.2.jar:git-Bukkit-22dcde5] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_72]
My server is hosted in server.pro as a free server. so its not a dedicated server as far as i can tell.
Thanks :D

You can add a white-list and a black-list for skins list?

: )

add the new function to legal skin, and no-legal skin, and permissions for this

on config, config ChangeSkin plugin

white-list-skins:
- b500f8be-72b5-42e7-a105-d18f916a324f

black-list-skins:
- 8049614c-496a-4f37-9246-9f70cad6e863

you can add this function and baypass permissions for this

on permissions plugin, permissions

  • ChangeSkin.permitted.skin.b500f8be-72b5-42e7-a105-d18f916a324f
  • ChangeSkin.prohibited.skin.8049614c-496a-4f37-9246-9f70cad6e863

Some new peoples get wrong skin

Latest bungeecord
Server 1.8.8
Changeskin 2.2.1 installed on bungeecord and hub

Some new-joined poeple are complaining that they have empy skin or random skin and they are not registred in the mysql database, is fixable only with /skin name name by a staff, /skinupdate will not help to fix it. I already reported the issue on pm but seem to be not resolved :(

Multiple BungeeCord support

  • install on bungeecord and every server on network, connect all to one database?
  • or install only on bungeecord?
  • or install on bungeecord and every server on network, but only config in bungeecord has connect to database?

[Feature request] Automatic skin update with ignore rule

Hello! I wanted to know if you could add an automatic skin update function? Like if the skin last download is more than 24h, it updates it. A lot of players aren't aware of the /skinupdate command and finaly they think that it's a bug.

Also, can you add a flag to the /setskin command to keep a snapshot and to forbid the skin to update if players don't want their skin to change?
something like :

/setskin player1 player2 -p

Thank you very much ! ๐Ÿ˜ƒ

skinupdate permission is not limited

Ho i just discovered people with permission changeskin.command.skinupdate can change other player skin typing /skinupdate name .... I give that permission for allow all premium players to fix their skin...
That explain why sometimes my skin changed randomly. Is possibile to have these following permissions?

  • changeskin.command.skinupdate - permission to update own skin

  • changeskin.command.skinupdate.other - permission to update other players skins

    Thank you!

Plugin doesn't work when stop and start

I'm using Spigot 1.8, and when I stop my server and restart it, skins doesn't load, and if I try to use /setskin [player] again, it only say:

Queued name to uuid resolve
UUID was successfull resolved from the player name
The skin is now downloading

But no finish, and an error is dumped to console:

[11:41:47] [Craft Scheduler Thread - 2/WARN]: Exception in thread "Craft Scheduler Thread - 2"
[11:41:47] [Craft Scheduler Thread - 2/WARN]: org.apache.commons.lang.UnhandledException: Plugin ChangeSkin v0.8 generated an exception while executing task 459
at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: com/google/gson/Gson
at com.github.games647.changeskin.SkinData.serializeData(SkinData.java:124)
at com.github.games647.changeskin.SkinData.(SkinData.java:39)
at com.github.games647.changeskin.Storage.getSkin(Storage.java:199)
at com.github.games647.changeskin.tasks.SkinDownloader.run(SkinDownloader.java:30)
at com.github.games647.changeskin.tasks.NameResolver.run(NameResolver.java:53)
at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftTask.run(CraftTask.java:71)
at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
... 3 more

My server is in offline mode, if it help (i'm premium).

MySQL request error.

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNSIGNED INTEGER PRIMARY KEY AUTO_INCREMENT, Timestamp BIGINT NOT NULL, UUID' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
at com.mysql.jdbc.Util.getInstance(Util.java:360)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1618)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1549)
at com.github.games647.changeskin.core.SkinStorage.createTables(SkinStorage.java:85)
at com.github.games647.changeskin.bungee.ChangeSkinBungee.onEnable(ChangeSkinBungee.java:89)
at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:157)
at net.md_5.bungee.BungeeCord.start(BungeeCord.java:209)
at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:33)
at net.md_5.bungee.Bootstrap.main(Bootstrap.java:12)

issues with tablist and custom heart!

After success change skin, player lose their rank, like in image:

and lose custom heart

changeskin install on bungeecord and every spigot
tablist use titlemanager plugin
protocolib 4.0.1 version

skinupdate <other> with version 1.9

Hello! When I send /skinupdate player to the console, it tells me that I have to be a player to execute that command :/

04:45:30 [INFOS] CONSOLE executed command: /skinupdate KingTramp
04:45:30 [INFOS] You have to be a player to set your own skin

thank you for helping :)

NullPointerException SkinUpload

Hello, skinupload does not work. Any ideas how to get more info?

Spigot 1.10

ChangeSkin: Successfull authenticated user 74c62b3a4bff

1:57:01 PM CONSOLE: [INFO] TATODOG issued server command: /skinupload http://www.minecraftskins.com/thumbnails/technoblox-9873879.png
1:57:02 PM CONSOLE: WARN]: Exception in thread "Craft Scheduler Thread - 13"
1:57:02 PM CONSOLE: WARN]: org.apache.commons.lang.UnhandledException: Plugin ChangeSkin v2.3.2 generated an exception while executing task 3110

error on changeskin 2.3

Changeskin 2.3, run on Bungeecord with mysql
sometime this error appear in bungeecord console

07:46:28 [SEVERE] Task BungeeTask(sched=net.md_5.bungee.scheduler.BungeeScheduler@31dadd46, id=4397, owner=com.github.games647.changeskin.bungee.ChangeSkinBungee@132e0cc, task=com.github.games647.changeskin.bungee.tasks.NameResolver@175dea4b, delay=0, period=0, running=true) encountered an exception
java.lang.NullPointerException
    at com.github.games647.changeskin.bungee.tasks.SkinDownloader.run(SkinDownloader.java:41)
    at com.github.games647.changeskin.bungee.tasks.NameResolver.onNameResolve(NameResolver.java:87)
    at com.github.games647.changeskin.bungee.tasks.NameResolver.run(NameResolver.java:71)
    at net.md_5.bungee.scheduler.BungeeTask.run(BungeeTask.java:63)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

BungeeCord command redirection

Hello I have a question, I don't know if this is possible but:
We can't type "/setskin", or "/skinupdate" from the console of a subserver when we have BungeeCord set, we have to do it from the bungee console. I want to know if it could be possible to redirect the command directly to the bungee console (like when we do the command in game) when typing it on any bungee subserver console?

I want this feature because I'm using JSONAPI to communicate between my website and my server, only JSONAPI can only communicate with a subserver (it is not compatible with Bungee). Currently I'm using an extra plugin to transfer the command but it's not very optimized. I don't know if it is clear ๐Ÿ˜•

By the way I wanted to thank you very much for this plugin which is a lot more stable than SkinsRestorer! :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.