zulfen / zulfbungee Goto Github PK
View Code? Open in Web Editor NEWA Skript addon which adds proxy integration.
License: Apache License 2.0
A Skript addon which adds proxy integration.
License: Apache License 2.0
Hello,
Concerning global scripts functionality, as I suggest in #9 :
A really good QOL improvement !
I created a command to send a message with the number of connected on the bungeecord.
when i run it the server crash
Spigot server information (in this order)
Proxy information (in this order)
Additional context
The code:
command /test:
trigger:
send "%all bungeecord players%"
expression bug:
all bungeecord players
Hello, I would like to know if it is possible to make network variables faster (instantly direct), because network variables are a bit slow, it checks 1 variable per variable and so if I check several variables at the same time. time is quite slow.
Good morning,
Would it be possible to ensure that there are several databases for the network variables, and to ensure that the variables of database number 1 there are specific variables if they are not in the database 2 as base skript?
Describe the bug
Hello, i tried many configuration with pterodactyl to make this addon work, i've ports opened on both proxy and spigot but it didn't want to connect. I tried all IP, 127.0.0.1, 0.0.0.0, 172.18.0.1 and the IP of my VPS.
Has you advises on how you can connect ?
I'm on bungeecord/waterfall and paper, tried with latest (0.8.0)
I can send you screenshots of differents configurations if you need.
Describe the bug
When launching the plugin, an error appears and deactivate the plugin.
Spigot server information (in this order)
Proxy information (in this order)
Additional context
Error occurred while enabling ZulfBungee v0.9.7 (Is it up to date?)
java.lang.NoClassDefFoundError: ch/njol/skript/lang/Section
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.lang.ClassLoader.defineClass(ClassLoader.java:756) ~[?:?]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:152) ~[Software.jar:git-Paper-18a678b]
at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:189) ~[Software.jar:git-Paper-18a678b]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:115) ~[Software.jar:git-Paper-18a678b]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:104) ~[Software.jar:git-Paper-18a678b]
at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:348) ~[?:?]
at ch.njol.skript.SkriptAddon.loadClasses(SkriptAddon.java:107) ~[?:?]
at tk.zulfengaming.zulfbungee.spigot.ZulfBungeeSpigot.onEnable(ZulfBungeeSpigot.java:59) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[Software.jar:git-Paper-18a678b]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:316) ~[Software.jar:git-Paper-18a678b]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) ~[Software.jar:git-Paper-18a678b]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:396) ~[Software.jar:git-Paper-18a678b]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:345) ~[Software.jar:git-Paper-18a678b]
at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:447) ~[Software.jar:git-Paper-18a678b]
at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:408) ~[Software.jar:git-Paper-18a678b]
at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:346) ~[Software.jar:git-Paper-18a678b]
at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:293) ~[Software.jar:git-Paper-18a678b]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:621) ~[Software.jar:git-Paper-18a678b]
at java.lang.Thread.run(Thread.java:750) [?:?]
Caused by: java.lang.ClassNotFoundException: ch.njol.skript.lang.Section
at java.net.URLClassLoader.findClass(URLClassLoader.java:387) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:156) ~[Software.jar:git-Paper-18a678b]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:104) ~[Software.jar:git-Paper-18a678b]
at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:?]
... 24 more
Describe the bug
title
no skript reloading errors and nothing works
To reproduce
command /test:
trigger:
send all online proxy servers
send this proxy server
send this client
send this server
proxy kick player due to "test"
proxy broadcast "test"
Expected behavior
everything to execute
Screenshots
Spigot server information (in this order)
Proxy information (in this order)
Additional context
Please provide your config files (censored, as in without MySQL login info) so we can check through them to see if configuration of the plugin caused the problem!
proxy https://pastebin.com/kD92C562
spigot https://pastebin.com/6RW9LQh4
Create a seperate index column so that finding lists are much faster.
Describe the bug
Network variables are case sensitive. For example {a} isn't equal to {A}, which means it is hard to make player nicknames in network variables when you can't write the exact nickname of player, so player with nickname "bob" isn't equal to "BoB"
To reproduce
command /skripttest:
trigger:
set {_a} to "1"
set {_A} to "0"
send "%{_a}% %{_A}%"
set network variable {a} to "1"
set network variable {A} to "0"
send "%network variable {a}% %network variable {A}%"
Expected behavior
I expected that network variables {a} and {A} would be 0, but not different. Also I use /find command made in ZulfBungee. I use network variable {name::%arg%} to get special nickname of player, so {name::adminplayer} becomes &##121212ADMIN Player. But with case sensitive it makes some problems because {name::adminplayer} and {name::ADMINplayer} aren't equal to each other.
Screenshots
https://imgur.com/qPCLiVK
Spigot server information (in this order)
Proxy information (in this order)
And one little little more thing, it seems that it sometimes "connect" 2 times the server, so that means it reload 2 times all the scripts :
It could lead to 2x more time to reload all the global scripts (this is a bug i guess).
Originally posted by @MaitreFranck in #9 (comment)
Remove ClientListenerManager and be able to support multiple connections.
Describe the bug and To reproduce
Expected behavior
Following the configuration, normally it should connect.
Spigot server information (in this order)
Proxy information (in this order)
Additional context
Plugin Bungeecord File config.yml: https://pastebin.com/uxy8Wt3f
Plugin Spigot File config.yml: https://pastebin.com/G1MrmA4F
Describe the bug
When I turn on my bungeecord server then after the spigot server, when I turn off the spigot server and turn it on again it does not connect me directly to the bungeecord (I have to restart the bungeecord for it to reconnect), which is disturbing.
There is no error with the debug-mode of the 2 servers (bungeecord and spigot).
I just noticed that if we leave the 2 servers after the bug, the server reconnects but long after (about 5 to 10 minutes).
The problem is only related to localhost because on a vps and a panel it works very well.
Spigot server information (in this order)
Proxy information (in this order)
Describe the bug
When you run the command, the server stops, but does not crash.
To reproduce
command /zulfbungeetest:
trigger:
broadcast "&aPrinting all players on the bungeecord network..."
broadcast "&b%all bungeecord players%"
broadcast "&aPrinting the name of this client:"
broadcast this server's name
broadcast "&aSending all players on the network a message through iteration..."
loop all of the bungeecord players:
proxy message loop-proxyplayer the message "&b&oWhy hello there! I am a message!"
broadcast "&aPrinting all the servers connected to the proxy..."
set {_servers::*} to all of the online servers
broadcast "&b%{_servers::*}%"
broadcast "&aSending all servers a message (this is used for inter-server communication)..."
loop {_servers::*}:
proxy message loop-value the message "Sample Text" called "Sample Title"
broadcast "&aSetting a network variable..."
set network variable {zulfbungee::test::*} to 1, 2, 3, 4 and 5
broadcast "&a...adding to it..."
add 6 to network variable {zulfbungee::test::*}
broadcast "&a...and printing it! Expected values should be 1 through 6."
broadcast "%network variable {zulfbungee::test::*}%"
broadcast "&aDeleting that variable... :("
delete network variable {zulfbungee::test::*}
broadcast "&c&lCongrats! The test is done! Please send results back!"
Expected behavior
The variable appears as and `Congrats! The test is done! ‘Please send results back!’ appears and the server stops.
Screenshots
No screenshot but error in the message
Spigot server information (in this order)
Proxy information (in this order)
Additional context
# - Key Setup -
# This chooses what communication method ZulfBungee uses.
# pluginmessage requires no setup, but requires you to enter a connection name (see below).
# socket requires more setup but allows for more flexible setups.
# Generally, if you don't know what this means, leave it as pluginmessage.
transport-type: "pluginmessage"
# This will toggle the display of detailed messages about what is going to the console.
# When filing a bug report / checking for issues, this is extremely useful to know what exactly went wrong!
debug: false
# Enables or disables global scripts.
global-scripts: true
# - Socket Setup -
# This is the port that this server will bind to, which will it listen for incoming connections on.
port: 8000
# The IP that this server will bind to. Similar to the "client-host" in the Spigot config.
# This should usually be left as 0.0.0.0, or 127.0.0.1, but feel free to change this if you need to -
# (i.e. you are on shared hosting / Pterodactyl)
host: "0.0.0.0"
# - Storage -
# What kind of database should be used to store network variables.
# Currently, supported databases: MySQL, H2
# If you have no clue what this does, just leave this as the default.
storage-type: "MySQL"
# Skript by default is case-insensitive for variable names.
# If you want this functionality, enable it here.
case-insensitive-variables: false
# Each option should be self-explanatory if you know what you are doing.
# If you are using H2, this will not apply - these two settings only apply to remote databases like MySQL.
storage-host: "localhost"
storage-port: 3306
# !! Change these from the default to improve security !!
storage-username: "***"
storage-password: "***"
storage-database: "***"
# - MySQL Setup -
mysql-use-ssl: false
mysql-verify-certificate: true
Error Log
This log appears when you turn off the server.
[04:31:34] [Server thread/ERROR]: Nag author(s): '[zulfen]' of 'ZulfBungee v0.9.9-pre4' about the following: This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies.
[04:31:34] [Server thread/ERROR]: Craft Scheduler Thread - 34 - ZulfBungee Stacktrace
[04:31:34] [Server thread/ERROR]: [email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[04:31:34] [Server thread/ERROR]: [email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
[04:31:34] [Server thread/ERROR]: [email protected]/java.util.concurrent.LinkedTransferQueue$Node.block(LinkedTransferQueue.java:470)
[04:31:34] [Server thread/ERROR]: [email protected]/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3463)
[04:31:34] [Server thread/ERROR]: [email protected]/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3434)
[04:31:34] [Server thread/ERROR]: [email protected]/java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:669)
[04:31:34] [Server thread/ERROR]: [email protected]/java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:616)
[04:31:34] [Server thread/ERROR]: [email protected]/java.util.concurrent.LinkedTransferQueue.transfer(LinkedTransferQueue.java:1256)
[04:31:34] [Server thread/ERROR]: ZulfBungee.jar//com.zulfen.zulfbungee.universal.util.BlockingPacketQueue.offer(BlockingPacketQueue.java:16)
[04:31:34] [Server thread/ERROR]: ZulfBungee.jar//com.zulfen.zulfbungee.spigot.socket.ClientConnection.sendDirect(ClientConnection.java:113)
[04:31:34] [Server thread/ERROR]: ZulfBungee.jar//com.zulfen.zulfbungee.spigot.socket.ClientConnection.handshakeTask(ClientConnection.java:63)
[04:31:34] [Server thread/ERROR]: ZulfBungee.jar//com.zulfen.zulfbungee.spigot.socket.ClientConnection$$Lambda$12211/0x00000008031906a8.run(Unknown Source)
[04:31:34] [Server thread/ERROR]: org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftTask.run(CraftTask.java:101)
[04:31:34] [Server thread/ERROR]: org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57)
[04:31:34] [Server thread/ERROR]: com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[04:31:34] [Server thread/ERROR]: [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[04:31:34] [Server thread/ERROR]: [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[04:31:34] [Server thread/ERROR]: [email protected]/java.lang.Thread.run(Thread.java:833)
more
As a result, both h2 and mysql show the same symptoms and work well in Release v0.9.8 version.
Good morning,
Would it be possible in the future, in an update, to set up the database for Mongodb, because that would be really cool.
Thank you for your understanding.
Global Scripts would work a lot better if they had things like being able to reload only a specific script at a time, The following subcommands to the scripts
part of the /zulfbungee
command would work nicely if they were added:
Describe the bug
Can't get the expression "%player's current server%" etc
To reproduce
command /giveserver:
trigger:
send "%player's current server%"
Expected behavior
To get player's current server. Because I'm doing /find script and I need to check if proxy player not in the limbo server to show him offline instead.
Screenshots
https://imgur.com/a/ggjWRA3
Spigot server information (in this order)
Proxy information (in this order)
I'm not sure if this is something on my end, or a bug on the plugin, but here we are.
When I start my paper & velocity servers (i have debug mode on), my velocity server does not report any errors, but the paper servers reports the following:
06.03 03:49:17 [Server] [INFO] [ZulfBungee] Error while creating socket: java.net.SocketException: Invalid argument
Velocity config:
# - Key Setup -
# This is the port that this server will bind to, which will it listen for incoming connections on.
port: 8077
# The IP that this server will bind to. Similar to the "client-host" in the Spigot config.
# This should usually be left as 0.0.0.0, or 127.0.0.1, but feel free to change this if you need to -
# (i.e. you are on shared hosting / Pterodactyl)
host: "127.0.0.1"
# - Options -
# This will toggle the display of detailed messages about what is going to the console.
# When filing a bug report / checking for issues, this is extremely useful to know what exactly went wrong!
debug: true
# Enables or disables global scripts.
global-scripts: true
# - Storage -
# What kind of database should be used to store network variables.
# Currently, supported databases: MySQL, H2
# If you have no clue what this does, just leave this as the default.
storage-type: "h2"
# Each option should be self-explanatory if you know what you are doing.
# If you are using H2, this will not apply - these two settings only apply to remote databases.
storage-host: "localhost"
storage-port: 3306
# !! Change these from the default to improve security !!
storage-username: "username"
storage-password: "password"
storage-database: "database"
# [MySQL Setup]
# If you get errors in console because of SSL, disable it here, but it's better to set up SSL on the MySQL server.
mysql-use-ssl: true
mysql-verify-certificate: true
Paper config (each server has a different port, I made sure to open them):
# - Key Setup -
# The port which you defined in your proxy config.
server-port: 8077
# The IP of your proxy.
server-host: "51.222.208.87"
# The port which this client (this Spigot server) will bind to, so it can listen for the proxy.
client-port: 8160
# The IP this client will bind to.
# This should usually be left as 0.0.0.0, or 127.0.0.1, but feel free to change this if you need to -
# (i.e. you are on shared hosting / Pterodactyl)
client-host: "127.0.0.1"
# If your proxy cannot find the name of your server from
# - Options -
# How many milliseconds it will wait for a connection.
# A timeout will be pronounced if the server does not respond in this time.
connection-timeout: 6000
# This will toggle the display of detailed messages about what is going to the console.
# When filing a bug report / checking for issues, this is extremely useful to know what exactly went wrong!
debug: true
It was on 0.0.0.0, and it gave a different error, if you want it ill send it here.
Describe the bug
Proxy connections are lost when I join the server.
Expected behavior
I expected the connections not to break.
Spigot server information (in this order)
Proxy information (in this order)
Additional context
Default
Describe the bug
List network variable issue
To reproduce
command /testvar3:
trigger:
add "A" to network variable {testvar3::*}
add "B" to network variable {testvar3::*}
remove "A" from network variable {testvar3::*}
add "A" to network variable {testvar3::*}
broadcast network variable {testvar3::*}
clear network variable {testvar3::*}
result is "A". where is gone "B"?
Expected behavior
It should be displays "B" and "A"
Spigot server information (in this order)
Proxy information (in this order)
Additional context
i'm using h2 database and transport-type with socket. thats it.
I jat want to give you this warning made by LibertyBans on velocity, which may be important :
We have detected bugs on your server which threaten your server's stability.
LibertyBans will continue to operate unaffected, but we strongly suggest you fix these bugs.
These bugs are (most likely) due to other plugins' mistakes. Each of the following plugins has shaded a library but did not relocate it. You should report each bug to the plugin author.
Plugin Name | Library Name | Class Detected
----------------------------------------------
Plugin 'zulfbungee 0.9.8' | HikariCP | com.zaxxer.hikari.HikariConfig
Note for advanced users: Understanding the consequences, you can minimize this warning by setting the system property libertybans.relocationbug.disablecheck to 'true'
*******************************************
Describe the bug
when I do the syntax number of all proxy players on server "NAME_OF_SERVER"
, it tells me the same number of players even if I check on another server like the one below.
To reproduce
The server Hub01 is 1 player
The server Hub02 is 0 player but offline
number of all proxy players on server "Hub01"
= 1 player
number of all proxy players on server "Hub02"
= 1 player
Expected behavior
number of all proxy players on server "Hub01"
= 1 player
number of all proxy players on server "Hub02"
= 0 player
Spigot server information (in this order)
Proxy information (in this order)
Additional context
The config with "socket" that's all
Describe the bug
When using "if bungee player arg-1 is online:" creates a severe error in skript. It also extends to the Skript "if arg-1 is online:".
When not using ZulfBungee, everything works as expected.
But when using ZulfBungee, every time "if player is online" is called, either with bungee player or vanilla Skript version, it either shows a severe error, or an incorrect response.
It seems like the response is delayed to the next time the command is typed in, or multiple next times. Like ; I type in my command rtz myname, and it says i'm not connected, I try a few more times, it stays the same. I try the same command with a random name, it says he's not connected, but then, without changing anything, it will say it is connected the number of times I typed the same command with my name just before. Is it clear? Very strange.
To reproduce
Here is the skript used, a simple call for what is described;
command /rtz <text>:
trigger:
if arg-1 is online:
send "Accomplished!"
stop
else:
send "nope!"
stop
command /rt <text>:
trigger:
if bungee player arg-1 is online:
send "Accomplished!"
stop
else:
send "nope!"
stop
Expected behavior
Expected behaviour is to return a true or false, without a severe error.
Spigot server information (in this order)
Proxy information (in this order)
Additional context
Only using Skript, ZulfBungee, and ProtocolLib 5.0.0. Everything is done locally on the same computer.
Using default configs everywhere.
The skript bug.txt
The error bug report.txt
The ability to send more than just a string between two servers (removes having to parse it as text to send it over, if it's not already text)
Describe the bug
When a player executes a function where or tries to return the size of all bungee players on a specified server. It sometimes crashes the server. (eg: size of all bungee players on "skyblock") (error below).
When we execute that it either returns the correct value or crash.
To reproduce
mainGUI(player)
using skript effect commands or by doing /test
.Script:
function mainGUI(p: player):
create a gui with virtual chest inventory with 3 rows named "Main Menu":
set {_} to size of all bungee players on "skyblock"
make gui slot 10 with player head with nbt nbt compound from "{SkullOwner:{Id:[I;162119669,710429448,-1690736789,-84268047],Properties:{textures:[{Value:""eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzY5MTk2YjMzMGM2Yjg5NjJmMjNhZDU2MjdmYjZlY2NlNDcyZWFmNWM5ZDQ0Zjc5MWY2NzA5YzdkMGY0ZGVjZSJ9fX0=""}]}}}" named "&aSkyBlock &8[&2&lSEASON 5&8]" with lore "&8Persistent Game%nl%&7" and "&7SkyBlock is the most popular%nl%&7game on FruitSky. Play with%nl%&7friends (or solo!), build your%nl%&7private island, collect all the%nl%&7items and meet other players.%nl%&7" and "&7➥ &aClick to Connect%nl%&7%{_} ? 0% currently playing!":
connect player to "skyblock"
set {_} to size of all bungee players on "elytrapvp"
make gui slot 13 with shiny elytra named "&aElytraPvP &8[&c&lMAINTENANCE!&8]" with lore "&8Persistent Game%nl%&7" and "&7Jump down and fly with%nl%&7elytras to instantly flight%nl%&7many other players. The%nl%&7most fast-placed combat%nl%&7on FruitSky. Upgrade your%nl%&7tools and gear and grind%nl%&7for mystic items.%nl%&7" and "&7➥ &cThis game is not available%nl%&7%{_} ? 0% currently playing!":
connect player to "elytrapvp"
open last gui to {_p}
command /test:
trigger:
mainGUI(player)
Expected behavior
No crash, must open the gui and return the correct values of size of online players in the specified server.
Screenshots
No screenshot but error in the message
Paper server information (in this order)
Proxy information (in this order)
Additional context
Configs:
Proxy Config
Default Zulfbungee Config
Hub Sub-server Config:
# - Key Setup -
# This chooses what communication method ZulfBungee uses.
# pluginmessage requires no setup, but requires you to enter a connection name (see below).
# socket requires more setup but allows for more flexible setups. (e.g. multiple proxy support in the future!)
# Generally, if you don't know what this means, leave it as pluginmessage.
transport-type: "pluginmessage"
# If your proxy cannot find the name of your server from its config, or if you want to define a custom one -
# specify it here. This process is automatic if you are using sockets.
# Make sure it matches the name that's defined in your proxy server software's config.
forced-connection-name: ""
# This will toggle the display of detailed messages about what is going to the console.
# When filing a bug report / checking for issues, this is extremely useful to know what exactly went wrong!
debug: false
# - Socket Setup -
# The IP of your proxy.
server-host: "hidden"
# The IP this client will bind to.
# This should usually be left as 0.0.0.0, or 127.0.0.1, but feel free to change this if you need to -
# (i.e. you are on shared hosting / Pterodactyl)
client-host: "hidden"
# The port which you defined in your proxy config.
server-port: 8000
# The port which this client (this Spigot server) will bind to, so it can listen for the proxy.
client-port: 25572
# If you don't mind what port it chooses to bind to (e.g. your proxy and client are both on the same machine)
# you can set this to true.
choose-random-port: false
Error
[12:27:41 ERROR]: --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH - git-Paper-388 (MC: 1.18.2) ---
[12:27:41 ERROR]: The server has not responded for 10 seconds! Creating thread dump
[12:27:41 ERROR]: ------------------------------
[12:27:41 ERROR]: Server thread dump (Look for plugins here before reporting to Paper!):
[12:27:41 ERROR]: Ticking entity: minecraft:player, entity class: net.minecraft.server.level.EntityPlayer
[12:27:41 ERROR]: Entity status: removed: false, valid: true, alive: true, is passenger: false
[12:27:41 ERROR]: Entity UUID: 112fc60e-6659-48a7-838f-91c9d91bce70
[12:27:41 ERROR]: Position: world: 'hub' at location (-46.96045412684652, 73.0, 76.08852684114609)
[12:27:41 ERROR]: Velocity: (0.0, -0.0784000015258789, 0.0) (in blocks per tick)
[12:27:41 ERROR]: Entity AABB: AABB[-47.26045413876745, 73.0, 75.78852682922516] -> [-46.66045411492559, 74.79999995231628, 76.38852685306702]
[12:27:41 ERROR]: Total packets processed on the main thread for all players: 357
[12:27:41 ERROR]: ------------------------------
[12:27:41 ERROR]: Current Thread: Server thread
[12:27:41 ERROR]: PID: 22 | Suspended: false | Native: false | State: BLOCKED
[12:27:41 ERROR]: Stack:
[12:27:41 ERROR]: ZulfBungee.jar//com.zulfen.zulfbungee.spigot.interfaces.transport.ClientChannelCommHandler.writePacket(ClientChannelCommHandler.java:123)
[12:27:41 ERROR]: ZulfBungee.jar//com.zulfen.zulfbungee.spigot.socket.Connection.sendDirect(Connection.java:92)
[12:27:41 ERROR]: ZulfBungee.jar//com.zulfen.zulfbungee.spigot.managers.connections.ChannelConnectionManager.sendDirectImpl(ChannelConnectionManager.java:36)
[12:27:41 ERROR]: ZulfBungee.jar//com.zulfen.zulfbungee.spigot.managers.ConnectionManager.sendDirect(ConnectionManager.java:71)
[12:27:41 ERROR]: ZulfBungee.jar//com.zulfen.zulfbungee.spigot.managers.connections.ChannelConnectionManager.send(ChannelConnectionManager.java:41)
[12:27:41 ERROR]: ZulfBungee.jar//com.zulfen.zulfbungee.spigot.managers.connections.ChannelConnectionManager.getPlayers(ChannelConnectionManager.java:51)
[12:27:41 ERROR]: ZulfBungee.jar//com.zulfen.zulfbungee.spigot.elements.expressions.ExprProxyServerPlayers.get(ExprProxyServerPlayers.java:33)
[12:27:41 ERROR]: ZulfBungee.jar//com.zulfen.zulfbungee.spigot.elements.expressions.ExprProxyServerPlayers.get(ExprProxyServerPlayers.java:17)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.util.SimpleExpression.getArray(SimpleExpression.java:99)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.ExpressionList.getArray(ExpressionList.java:94)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.expressions.ExprAmount.get(ExprAmount.java:109)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.expressions.ExprAmount.get(ExprAmount.java:43)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.util.SimpleExpression.getArray(SimpleExpression.java:99)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.effects.EffChange.execute(EffChange.java:274)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.Effect.run(Effect.java:50)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:61)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:89)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.Trigger.execute(Trigger.java:56)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.function.ScriptFunction.execute(ScriptFunction.java:85)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.function.Function.execute(Function.java:129)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.function.FunctionReference.execute(FunctionReference.java:288)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.function.EffFunctionCall.execute(EffFunctionCall.java:52)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.Effect.run(Effect.java:50)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:61)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:89)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.lang.Trigger.execute(Trigger.java:56)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.SkriptEventHandler.check(SkriptEventHandler.java:142)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.SkriptEventHandler.access$000(SkriptEventHandler.java:53)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.SkriptEventHandler$PriorityListener.lambda$new$0(SkriptEventHandler.java:71)
[12:27:41 ERROR]: Skript.jar//ch.njol.skript.SkriptEventHandler$PriorityListener$$Lambda$5591/0x00007fbf85055bc0.execute(Unknown Source)
[12:27:41 ERROR]: co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80)
[12:27:41 ERROR]: org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
[12:27:41 ERROR]: org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:669)
[12:27:41 ERROR]: org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:544)
[12:27:41 ERROR]: org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:507)
[12:27:41 ERROR]: org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:502)
[12:27:41 ERROR]: org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:498)
[12:27:41 ERROR]: net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItem(ServerGamePacketListenerImpl.java:1910)
[12:27:41 ERROR]: net.minecraft.network.protocol.game.ServerboundUseItemPacket.handle(ServerboundUseItemPacket.java:28)
[12:27:41 ERROR]: net.minecraft.network.protocol.game.ServerboundUseItemPacket.a(ServerboundUseItemPacket.java:8)
[12:27:41 ERROR]: net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:51)
[12:27:41 ERROR]: net.minecraft.network.protocol.PlayerConnectionUtils$$Lambda$6558/0x00007fbf85496810.run(Unknown Source)
[12:27:41 ERROR]: net.minecraft.server.TickTask.run(TickTask.java:18)
[12:27:41 ERROR]: net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153)
[12:27:41 ERROR]: net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24)
[12:27:41 ERROR]: net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1400)
[12:27:41 ERROR]: net.minecraft.server.MinecraftServer.d(MinecraftServer.java:188)
[12:27:41 ERROR]: net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126)
[12:27:41 ERROR]: net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1377)
[12:27:41 ERROR]: net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1370)
[12:27:41 ERROR]: net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136)
[12:27:41 ERROR]: net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1348)
[12:27:41 ERROR]: net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1230)
[12:27:41 ERROR]: net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316)
[12:27:41 ERROR]: net.minecraft.server.MinecraftServer$$Lambda$4085/0x00007fbf84850b00.run(Unknown Source)
[12:27:41 ERROR]: [email protected]/java.lang.Thread.run(Thread.java:833)
[12:27:41 ERROR]: ------------------------------
[12:27:41 ERROR]: --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH ---
[12:27:41 ERROR]: ------------------------------
Describe the bug
When using the proxy message syntax, if you use a list variable or something that contains more than 1 player, it will send the message to all the players that are on the same individual server as many times as the amount in the list variable.
So for example, if there are 3 players on the same individual server on the proxy, but 7 players across the entire proxy network, and I use proxy message all proxy players the message "bla bla bla"
then it will send "bla bla bla" to those players 3 times. Essentially if they are on the same server it will send the amount of people on that server in chat messages. (Check screenshot below)
I was also looking into proxy broadcast to find a way around this but proxy broadcast doesn't use hex codes, I don't know if that is intentional or another bug but I will leave it here.
To reproduce
command /proxybroadcast: trigger: proxy message all proxy players the message "bla bla bla"
Get two accounts or more on the same instance server on a network. It will send two messages of "bla bla bla" (or however many accounts you have online the same instance server). In my case I used three and it sent three.
Expected behavior
Should send it once to every proxy player. The same way loop all proxy players: proxy message loop-value the message "bla bla bla"
would function.
Spigot server information (in this order)
Proxy information (in this order)
Additional context
Would be great to have a server list ping event. Lets you know which players added your server to their server list (by their IP of course)
Whats the issue and how to reproduce
When joining the server you get a error message in proxy and the plugin restablishs connection with one of my servers all the time (Error comming at next to screenshot)
Expected behavior
No error in the console
Screenshots
[21:33:29 ERROR] [zulfbungee]: Unhandled exception occurred in connection with address /127.0.0.1:2002 [21:33:29 ERROR]: java.lang.NullPointerException: Cannot invoke "tk.zulfengaming.zulfbungee.universal.socket.objects.client.ClientPlayer.getUuid()" because "clientPlayerIn" is null [21:33:29 ERROR]: at tk.zulfengaming.zulfbungee.velocity.ZulfVelocity.getPlayer(ZulfVelocity.java:157) [21:33:29 ERROR]: at tk.zulfengaming.zulfbungee.universal.socket.packets.ProxyPlayerPermission.handlePacket(ProxyPlayerPermission.java:27) [21:33:29 ERROR]: at tk.zulfengaming.zulfbungee.universal.managers.PacketHandlerManager.handlePacket(PacketHandlerManager.java:50) [21:33:29 ERROR]: at tk.zulfengaming.zulfbungee.universal.socket.BaseServerConnection.processPacket(BaseServerConnection.java:116) [21:33:29 ERROR]: at tk.zulfengaming.zulfbungee.universal.socket.BaseServerConnection.run(BaseServerConnection.java:95) [21:33:29 ERROR]: at com.velocitypowered.proxy.scheduler.VelocityScheduler$VelocityTask.lambda$run$0(VelocityScheduler.java:275) [21:33:29 ERROR]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) [21:33:29 ERROR]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
and here the issue
Spigot server information (in this order)
Proxy information (in this order)
Additional context
THE CONFIG OF THE SERVER WHO CAUSES THE ISSUE:
server-port: 8000
server-host: "127.0.0.1"
client-port: 2002
choose-random-port: false
client-host: "0.0.0.0"
forced-connection-name: ""
debug: false
VELOCTIY CONFIG
port: 8000
host: "0.0.0.0"
debug: false
global-scripts: true
storage-type: "h2"
storage-host: "localhost"
storage-port: 3306
storage-username: "username"
storage-password: "password"
storage-database: "database"
mysql-use-ssl: true
mysql-verify-certificate: true
Suggestion for adding the possibility to execute an proxy command from a spigot server
Ability to cancel proxy events.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.