#help-archived
1 messages · Page 72 of 1
Might be the case.
Is that kotlin
Yeah
yes
obv
sorry idk
Yeah it's pretty similar
I am making a scheduler that can iterate of an iterable at a given speed
So I need to be able to cancel the runnable inside it's context
That's why I need a runnable, I believe
what do u lot use for ur ide??? just want recommendations cuz im currently using Eclipse which is great but syntax highlighting is a meh which is a tad annoying. If anyone knows how to do custom syntax highlighting in eclipse plz dm me and lemme know 🙂
intellij
heknon BukkitScheduler takes a Consumer<BukkitTask>
I'm still getting the error even though I'm not even using §
And BukkitTask should be cancellable
@red kernel show me ya code
But does it matter which I use?
String message = event.getMessage();
if (player.hasPermission("earth.chat.colours")) {
message = ChatColor.translateAlternateColorCodes('&', message).replace("%", "%%");
} else {
message = message.replace("&", "").replace("%", "%%");
}
String format = Methods.chat(PlaceholderAPI.setPlaceholders(player, config.getString("modules.chatsystem.format")));
event.setFormat(format.replace("%message%", message));
BukkitRunnable is deprecated, no actual usage over than it's still in API because many plugins would break if it got removed
I mean BukkitTask is a better BukkitRunnable in the way it integrates with the BukkitScheduler
@red kernel wut r the errors?
Aight
^^^^
i'm taking my CTRL key out of retirement so I can quickly steal this code
I'm ready when you are
ok
make a whole to package for your utils and create a Utils class in it
yeah
then do that
I already have a utils class
should work
called methods
Nono
use it
That's missleading
I'm already using that method
then if you import Utils.chat like this, you can use & for colour codes
event.setFormat(format.replace("%message%", message));
^
use event.setFormat(String.format(format.replace("%message%", messages)));
Okii
is /lpb editor used for bungeecord wide permissions?
Still the same @naive goblet
so if i want to give myself owner accross all servers i give myself group.owner in /lpb editor not /lp editor?
Still the same @naive goblet
@red kernel have you changed all of the § to & cuz when i looked at ur code a second ago, it hadnt changed
^
and when you have make sure that if you are gonna do that do this to import the colour coeds
p.sendMessage(Utils.chat("&6Your message here"));```
allow only bungeecord ip addres to connect to spigot
@bronze marten i did, and i enabled the firewall... but they still can use my acc
The thing is, when i got the other 2 servers, I used the same plugins folder and just copied eveyrthing over
The thing is, that it works everywhere with § except for that chat thing
lp user Conclure perm set permission.node server=bungee
lpb user Conclure perm set permission.node
Pixlie remove all §
So i need to do the server=bungee to make it bungeewide?
replace it to &
ye
geo if it's executed in a fallback server I believe
and when you have make sure that if you are gonna do that do this to import the colour coeds otherwise your message would display as "&6You message here"
p.sendMessage(Utils.chat("&6Your message here"));```
But that's not my error, my error is in event.setFormat();
(1) Using a fork - seek support there next time
(2) How are you using format because it seems to me, based on that error, that you're misusing it.
^
Wait what, I'm using spigot on my server
I believe you would get a better knowledge of Formats if you print out e.getformat
On my other plugins it works, only here it seems to give me this error
Wait what, I'm using spigot on my server
@red kernel False PaperSpigot
I can assure you that you're not
Your events are ASM generated which is not something Spigot does
/ver
It can be named whatever you want, it's not Spigot lol
re-compile* it
BuildTools compiles the jar, so the term "compile" the server jar is appropriate here
It's not a download
Or go to paper discord and get actual help
^
(1) Using a fork - seek support there next time
but this is because of a misuse of chat formats
Fun fact, if you Google spigot discord, papers discord shows up 😂
Lol
whatever he just said xD
🤣
Choco using leak sites confirmed
😦
@bronze marten i did, and i enabled the firewall... but they still can use my acc
@bleak osprey What happens is that your spigot server is running in offline mode because it runs under Bungeecord, this is required. Since it runs in offline mode, and another player found your spigot server port, he directly connected to it using IP:spigotPort (while setting up his own bungeecord proxy, with your spigot servers in their bungeecord config). While he did that, he used an cracked launcher to use mc with any name and logged in under your name.
The thing is: you should ONLY allow bungeecord IP+port to your spigot port. You can either do that by reading this thread https://www.spigotmc.org/wiki/firewall-guide/ (if you have access to the machine) OR use a plugin like https://www.spigotmc.org/resources/ipwhitelist.61/ and read the setup.
i already followed the firewall guide, but no succsess.
list $ ufw status?
yeet lol
get no repsonse from the server if iam usinf this
iptables -I INPUT ! -s $BUNGEE_IP -p tcp --dport $SERVER_PORT -j DROP
and yes i replaced Bungee_IP and Server_port
try again but in icognito mini
🕵️
google loves to give you results that thinks you're more interested in
@bleak osprey you dont have iptables installed, you just said you had ufw xd
you should do this:
ufw allow from 127.0.0.1 to any port 25565,25566,25567,... proto tcp
where the ports are ur spigot servers
ok, but if iam installing IP_tables i get kicked out and need to restart the server
its because iptables doesnt have the ssh rule yet
dont enable it until you added ssh
or just use UFW
you just need one lol not both
root@v2202004118956114910:~# ufw allow from 127.0.0.1 to any port 25565,25566,25567,25568 proto tcp
Rule added
gg?
check sudo ufw status verbose
ufw still contains rules ALLOW IN Anywhere on your spigot servers.
you should delete those
delete server ports?
do this:
$ sudo ufw status numbered
and delete the ones where you can see your spigot port and ALLOW IN with Anywhere
with:
$ sudo ufw delete <number>
@naive goblet I got it working with the BukkitTask, thanks 🙂
how do i mkae luckperms use mysql?
hey u lot, i know u probs know how to hook into Vault easy af but can anyone give me a good link that will gimme a quick tutorial into hooking into vault, been searching but i cant find one 4 some reason. Lol 4 years of Java developing and 3 years of spigot and yet i dont know how to hook into vault 🤣
thanks choco
hehe VaultAPI has 69 commits
what do i need to do to make luckperms use mysql?
If you want to create your own implementation of Economy, Chat or Permissions, you can see some of the default ones in https://github.com/MilkBowl/Vault
Otherwise, API is how you get an interact with it
@bronze marten did, now is just the root@v2202004118956114910:~# ufw allow from 127.0.0.1 to any port 25565,25566,25567,25568 proto tcp left
ok
then it should be ok now
try if anyone can log in on your acc
or any offline acc
thx 👍
uhm @bronze marten
just need some opinions on whether i should leave the ":"s or remove them
https://imgur.com/gjIAEZZ
mbe remove them
if you dont have mysql dont bother with it haha
then the default luckperm setup will do just fine
@bronze marten I need to sync permissions accross all bungee seervers
i'd suggest looking a bit what mysql is and what it does
before hooking something with it
check with your hosting plan if they have mysql or anything
or if on dedi find a nice tutorial on how to install and secure mysql
@bronze marten now i cant connect to my server xp
$ ufw allow to any port BungeePort proto tcp
also allow ssh
$ sudo ufw allow ssh
bungeeIP replace with serverIP?
hm still cant connect
hey so, basically choco suggested the vault api "docs" 4 me and i am already stuck on like first line, what is the "Name of Permission Method"
what is your bungeeport
@subtle blade any ideas???
hey so, basically choco suggested the vault api "docs" 4 me and i am already stuck on like first line, what is the "Name of Permission Method"
@oak stump
25565
then it should work..
try restarting mc?
mh wait try just $ sudo ufw allow BungeePort
more isnt needed
and remove the other 25565 rulesfrom the UFW status list
You are just trying to get an existing supplier from Vault, right Sym? Not registering your own?
ok
You are just trying to get an existing supplier from Vault, right Sym? Not registering your own?
im editing it for my own needs
Yea but what's your goal? Are you trying to get an economy instance or register one?
wtf dis mean
Is there a 1.16 spigot snapshot
no
nope.. wont let me go
afaik it's just a unique identifier, Sym
Never created my own Permission implementation for Vault though
oh so lol wut
@bleak osprey no connection or connect error?
ok so your bungee appears in the mc server list as online?
yes
ok
ufw allow from 127.0.0.1 to any port 25565,25566,25567,25568 proto tcp
are you hosting all your spigot servers on the same machine btw?
but this isnt the prob?
are you hosting all your spigot servers on the same machine btw?
@bronze marten jupp
mh
then you could leave the rule out technically
but I think the problem is that it only allows incoming and not outcoming connections
try this
😄
just delete the rule then if its on your local machine
and make sure only your bungeecord ip (of all spigot/bungeecord) is open in the ufw list
if its all localhost it doesnt even matter configuring localhost rules
only your bungeecord IP should be public
sudo ufw allow 25565
whats the config in bungeecord
can you show?
you should have the spigot servers there with connections via localhost not via public ip
the 172.18.0.1 is not my public ip
i typed 127.0.0.1 and the ip 172.18.0.1 are the local ip of the docer
there are the servers running
ah yeah true its a private ip space
but still, nothing is wrong with the firewall now
now its just your bungee cant connect to your spigot servers inside the machine
now its just your bungee cant connect to your spigot servers inside the machine
@bronze marten right
hello yes uh i need the big help
I have a command that "works"
you can type it in chat and all
but it just says the command again.
any idea why it isn't running what it should?
@quick prism would help if you showed some code
@bleak osprey try to find out the bungeecord private IP
?paste
eu
and run this command again
ufw allow from 127.0.0.1 to any port 25565,25566,25567,25568 proto tcp
@bleak osprey
but then instead of 127.0.0.1 your bungeecord private ip
not entirely sure why you are messing with firewall rules for localhost o.O
or private ip's
he has some weird docker setup thats blocking localhost connections somehow
Can you specify which version your plugin will works on spigot?
Like in Bukkit website, the version column show beside the file name
@bronze marten its because docker binds to the host nic
you need to do complex filtering for docker stuff and if you don't know how to implement that it is best to leave your docker instances on private ip spaces
but then instead of 127.0.0.1 your bungeecord private ip
@bronze marten still not working
I recommend removing your firewall rules from your host system
how do I play a sound to a single player in the console on 1.8.8, it says too far away
there are no firewall rules, only port thats open to the outside is 25565 now
plus some other mysql etc I saw
import org.bukkit.command.CommandExecutor;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
import me.Crystallized.CrystallizedPowers.command.CommandFire;
public final class Main extends JavaPlugin implements Listener {
@Override
public void onEnable() {
getCommand("fire").setExecutor((CommandExecutor) new CommandFire());
}
@Override
public void onDisable() {
}
}``` this is my main file
I think you are missing the point I am trying to state, while although docker has a private ip space, normal firewall rules will not affect it the same way, because the rules apply to the host nic as a whole.
need to disable the filtering driver if you want to filter on the docker ip and even then it starts to get complex
https://pastebin.com/iHihAu1Q this is the command
I think you are missing the point I am trying to state, while although docker has a private ip space, normal firewall rules will not affect it the same way, because the rules apply to the host nic as a whole.
@keen compass and how to work around?
so, maybe move away from the private ip space docker assigns those spigot servers to?
let docker use the host?
Easiest way I have found to filter is using a hardware firewall as opposed a software one on the host system
I have a server and for some reason get non responding on my account I’ve tried every other account and it works fine
log, actually implement CommandExecutor on your command class
Just casting it isn't going to make it a command executor
** that would make sense **
let docker use the host?
@bronze marten good idea, but i dont know how to change the IP
it is hard to implement firewall rules, when you have a virtual machine that utilizes the hosts nic as opposed to creating a virtual nic for itself
which might be easier if docker allows that
I would recommend creating a virtual nic on the host, and have docker use that instead for your firewall rules whoever is having the docker issue
what means nic?
network interface card
there is physical NIC's and then there is virtual ones
xD
Pain you're more than welcome to ask any question here and I'm sure more people than just myself can answer
ok ok
virtual ones are still tied to the physical nic, but at least you can distinguish the connection on the host
🤔
but if the application uses the host nic and nothing else you can't distinguish the connection even though it has a different ip, because the nic being used is the same
Well, can i ask you about plugin Essentials ?
but if you create a virtual nic instead, and had docker use that virtual nic to be bonded to
@bleak osprey do you expose ports from the docker container to the host?
you could more easily apply your firewall rules because your host can distinguish between itself and the virtual one
Whats the command you run your docker containers with?
Choсo, can you please add me as a friend and I will write you personally?
Choсo, can you please add me as a friend and I will write you personally?
Thats scary
Choco is making friends 😄
Why?
Hopefully what I said wasn't too confusing
you could more easily apply your firewall rules because your host can distinguish between itself and the virtual one
@keen compass ok which rules do you mean?
well, I noticed in here you were messing with UFW for whatever reason for docker
yes
and experiencing odd results from what you would normally expect
I am explaining why you were experiencing the odd results
and how to resolve it
the problem is that the host system can't distinguish docker from itself
because only 1 nic instance exists
yes, but i thought you got an option for this 😄
yes, create a virtual nic
and have docker use the virtual nic
your host system can distinguish the real nic from the virtual
and treat them as separate
hm ok.. but how do i change the nic of the docker?
Idk, I don't use docker enough to know the config options for it, but you can easily have docker bind to different nics from what I do know
Uh im still facing the same problems as i had before : <
https://pastebin.com/iHihAu1Q
import org.bukkit.command.CommandExecutor;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
import me.Crystallized.CrystallizedPowers.command.CommandFire;
public final class Main extends JavaPlugin implements Listener, CommandExecutor {
@Override
public void onEnable() {
getCommand("fire").setExecutor((CommandExecutor) new CommandFire());
}
@Override
public void onDisable() {
}
}```
these are my files ** *again* **
Am I able to spawn an item which never despawns?
hmmm, how would I detect the domain that someone joined? so someone could connect to x.domain and go to server x and someone goes to y.domain and goes to y server?
use forced_hosts in bungee
unless you are trying to implement this in your plugin yourself
Well, can i ask you about plugin Essentials ?
I literally hate essentials and have wanted it to die since I started making plugins lol
what do you mean by forced hosts? is that x => y?
it needs to still be inside the network so I can run bungee utils on the user
unless you are trying to implement this in your plugin yourself
@keen compass nope
why do you hate essentials?
It has cool stuff
anyone uses Spartan Anticheat?
@bleak osprey I was referring to @frigid ember on that last comment
:(
@subtle blade
ups 😄
I already told you how to resolve your problem, just up to you to figure out how to change Dockers settings
If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply.
@keen compass I don't mind learning Bungee's api but I just need to forward player x to server x if they connect to x.domain
can anyone help me
thx to you guys!
Okey, Choco, what i will do with this? [19:41:32 ERROR]: The server has stopped responding!
[19:41:32 ERROR]: Please report this to http://www.spigotmc.org/
[19:41:32 ERROR]: Be sure to include ALL relevant console errors and Minecraft crash reports
[19:41:32 ERROR]: Spigot version: git-Spigot-dcd1643-e60fc34 (MC: 1.12.2)
@frigid ember Bungeecord already does this natively
use the force_hosts section of the config to do it
hmm, are they linked inside the network?
servers?
when someone can someone help me please @ me :/
how bungeecord knows which domain is because of the TLS message just fyi, so implementing yourself isn't going to be easy as you would need to listen for the connection at the same time bungee is.
but you could just setup up bungeecords configs to do it for you though
so no need to try to implement it
hmmmmmm, cool
ok
look under forced_hosts
define your servers, and then under forced_hosts define your domains to go to which ever servers
ok
Oh well Pain that's a crash! lol. That's nothing to do with Essentials as far as we know currently
?paste us over your crash log
lol
We can then direct you to the correct line of support
either that or someone just might know exactly what is causing the crash 😛
but in either case the error logs are essential
ok i figured it out... iam just dumb xD
thx for help @keen compass @bronze marten
but in either case the error logs are essential
I have quetion about essentials, and about this crash, and i will ask you, hove i can fix it. Can you help me ?
@subtle blade
@bleak osprey what was the issue tho? Now im curious lol
just used the serverip
Ah
But not the public ip right? Otherwise you will still have the connection problems
Does one of your spigot servers show up in the server list?
so i have made a fully working permissions plugin but im not sure how to hook it into vault so other plugins can use it, and yes i have googled it
damn it
@oak stump Vault works in the opposite direction. Vault hooks into permission plugins, not the other way around. What you could do is submit a pr to vault to include your permission plugin as one of the many that vault will hook into
How do i sort players by money on Tab i mean player 1 have 100 money so he is up player 2 have 50 money so he is down i need to sort it like this i am using PlayerListPlus somebody can help me?
@oak stump Vault works in the opposite direction. Vault hooks into permission plugins, not the other way around. What you could do is submit a pr to vault to include your permission plugin as one of the many that vault will hook into
So basically I will have to use my permissions plugin as a build path for my other plugins
@keen compass ??? ^^^
I need help with stopping duping. When they place a piston and a chest and they click a button. Then they take the item out of the chest before the piston retracts. Any addins(I’m on a realm)
Hi, I sent you an email 2 days ago, can someone reply?
after Updating to spigot 1.14, the server starts but nobody can join, They get this error:
11.05 17:30:27 [Disconnect] User ZNChano has disconnected, reason: Internal Exception: java.lang.IllegalStateException: EvtPacket cannot be triggered asynchronously from another thread.
So basically I will have to use my permissions plugin as a build path for my other plugins
@subtle blade any ideas
Okay so, ima make this easy to understand. Basically, do I have to use my permissions plugin as a build path so that I can hook into the permissions in it
shouldn't need to depending on how you coded it
yeah @oak stump ideally you should just be able to use Player#hasPermission
your permission plugin should have integrated itself within the player's permissionmanager
how do i make it so whenever people come to a world they spawn in a specific place?
so they cant just spawn wheerever they left off
Writing a plugin or are you a server owner?
how do i give admin permissions ????? in vehicle plus?
See #general, you were answered
i don't know how to put the admin in the vehicle plus
@subtle blade ?
@wind dock https://www.spigotmc.org/forums/spigot-plugin-help.42/ You may use here for request your needs
Geometry,
Writing a plugin or are you a server owner?
or find a plugin from spigot
There are world managers to do this
If you have Multiverse by chance, they have a force spawn option in the config iirc
(the world config, that is)
Haven't worked with plugins in a long while, but yea I believe it's in worlds
It's a per-world option
I dont see it
How do I administer the vehicle plus plugin?
thanks
Looks like maybe it doesn't. A lot of people used HomeSpawnPlus in conjunction with it (which I also did back when 1.8 was the latest release lol)
Oh ok i see
How do I administer the vehicle plus lite plugin?
Just because you continue to copy paste your question doesn't mean we're going to change our answer
Speak to the author or read the documentation
We will not read the manual for you
@oak stump Actually, I believe you can just register your implementation of Permission with the Bukkit services manager, since that's how other plugins use Vault permissions.
https://github.com/MilkBowl/Vault#supported-plugins says "If you have your own plugin that you believe should be supported you'll need to add your own connector within your plugin as Vault no longer maintains new plugin connectors."
I'm pretty sure you can just implement Permission
Although be sure to add the softdepend/depend in the plugin.yml as well as load at startup
what about loadbefore vault then listening to the pluginenableevent
No, not loadbefore
You have to load after Vault
in order to avoid NoClassDefFoundError
no
otherwise Permission.class will not be resolved
why do that when you can just use a normal softdepend?
No it wouldn't, unless those plugins are poorly made
There's a Vault issue about this
best way to replace %player in a dispatch command? tablistname or getName
wich one is more accurate
Why spigot needs to know my location?
Does Anyone know a plugin for a queue for full and whitlisted Servers For free?
Hi, i have a stange problem.
I have instelled Tablist and Infinite Scoreboard.
If the Tablist is refreshing (updating prefixes/suffixes), the scoreboard are flash once every time.
If the scoreboard refresh rate is not the same as tablist, the scoreboard get weird, losing some lines...etc.
Do anybody know what can be the problem?
How can i make an /fly command in a Bungeecord plugin? ProxiedPlayer p = (ProxiedPlayer) sender; p.allowFly arent exist
Sorry for my Bad Englisch im German
That's something you do on the server side, not the proxy
@karmic socket yea, they are using different scoreboards
OK Thx
@karmic socket yea, they are using different scoreboards
@tiny dagger And what can i do with that? Should i search for a pack?
something like that
how can I get a player's true UUID from a server behind bungeecord?
What's wrong with player.getUniqueId? I thought that a properly configured BungeeCord setup will forward online-mode UUIDs
oh is that the case? i was under the impression that servers would get name uuids
ensure that your users IP address shows the true value and that your spigot servers get online-mode UUIDs.
So just ensure you have IP forwarding on, I guess
Does Anyone know a plugin for a queue for full and whitlisted Servers For free?
Hey guys when players join my server they arnt given A rank
only default
and i have ezrankspro.a in there permissions
what permission plugin you use?
You need to set A rank as default rank
Hi i bought a plugin in spigot and dont appear in purchased resources PLEASE!
Help me
@atomic rapids
@mild nest
Same here ^^"
Omg
Just wait a bit,paypal can have up to 24hr payment gateway
if the time passed and the money was taken contact the author
to look in up
It's all good now, first time i waited this long with spigot ^^
alot of things can affect the buy time
You need to set A rank as default rank
@vagrant widget ?
Default is default rank
and i put ezrankspro.a in there
Oh, on PEX you can change the default rank
im on luckperms
So I stay on PEX
@vernal spruce luckperms
https://github.com/lucko/LuckPerms/wiki/Default-Groups @frigid ember
paying someone 5 dollars to fix my group issue
When players join for the first time they arnt giving A rank they are only given default rank and i have the permission node for A set in that group
but its still not giivng them the group
i always hated permissions
thank god group manager was still active
nowdays this wouldve been a torture
Hey fr33styler
hey
Hry
you hate permissions?
Permission are the best
I love permissions
Also I find it funny to pay $5 to configure default player groups
LuckPerms 💗
I used to hate every permission plugin and was stuck with groupmanager but when I used luckperms I just couldn't use groupmanager again
You should give it a try @tiny dagger
LuckPerm is just beautiful
There's like one of the best documentations and so many features
it was my number 1 choice
what plugin do you recommend for a tab
ive been looking into redis and was looking thru the wiki and it says your bungee's need a synchronized system time for it to work, does that have to do with the timezone of the server?
You mean the Redis documentation?
You should have correct system time for any database, really, otherwise weird things can happen
What does "synchronised system time" mean besides "every program sees the same unix time"?
I meant redisbungee
"Properly synchronized time between all your Bungees. RedisBungee will have problems when your system time is around 27 seconds earlier than another Bungee's. "
Is from the wiki
I sent you an email 2 days ago, can someone reply?
for delete my account
but noone replied!!
@fleet crane
I know that you think about account deletions.. please help me
RedisBungee and Redis are completely different... no wonder
it tells me in intellij that the class main is not allowed to be public, what should i replace public with, as im not sure
Hey guys, how would I make these shapes progamatically? I'm stuck on how to make criss crosses
I mean it's not terribly difficult. Iterate along the z axis of your shape, pick certain intervals (say every 10 blocks). Once you've reached that point, go up and to the right by 1 pixel, place a block. Continue until you reach the top axis again
should i make it private or somthing else
@regal cloak The main class is fine being public. You probably have something setup wrong.
oh ill redo it for the 5th time
ah i found the problem, they added a yello file instead of a class file, i now just need to work out which one is yellow
I'm wondering if its possible to check for a string value from a config file and make that your command For example in the config if the user inputs hi the command is now /hi.
Error:(3, 30) java: package org.bukkit.plugin.java does not exist
Error:(5, 27) java: cannot find symbol
symbol: class JavaPlugin
package me.faintcamo;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin {
}
Does anyone know how to fix
Im using intellij
um did you import spigot correctly
i think so
clearly not
Dynamic command registration is possible but requires you to use the server's command map. You will need to access it via reflection (Also, Paper has an API patch to expose the command map, but then your plugin won't be compatible with Spigot)
Anyone has an idea if Spigot or Paper has an event for the Anvil Name Item packet? https://wiki.vg/Protocol#Name_Item
I do get I can do it with ProtocolLib (I'm doing that now), just wondering if there is a spigot event for it I'm missing (and why there isn't, as this is really useful for realtime search UI's)
I originally thought I was in the Paper discord sorry 😂
anyone know about a plugin to lengthen the name in both tab and tag
hello
hi
thanks
does anyone know how you can synchronize the time of two different location bungee servers to support redisbungee
configure your system time properly
how do I report a plugin on Spigot as fraudulent?
click the report button at the bottom of the overview
that only gives a small text box, I wasnt sure if that was correct. Do I need to provide any specific information in that field?
yeah just put report reaosn
alright, thanks
I need some help
I bought 2 premium plugins like 8 hours back and it said it would take an hour for me to receive it?? Its been 8 hours tho..
Scam
its featherboard and playervaultsx tho ?
Use the /tag command
You can add and remove tags for certain tags
Ex: /tag @p add Team1
/tp @a[tag=Team1] ~ ~ ~
Could do that
@exotic narwhal I'm using my own Team class, not the scoreboard teams. Sorry should have clarified.
Wdym
It’s not scoreboard adding tags to each player then use a chain command to remove the tag
Is it normal for me to not have recieved my plugins or ?
And if not does anyone know what to do
Not really
I don’t know b/c I don’t use plugins but it’s probably only able to be used by Java
who do i contact because the payments still went on
@exotic narwhal Lol I haven't ever used the Tag command. Oops brb
idk who to ask
If you did and they are telling you bull crap then call your bank and say it was a scam
Then how did you buy it
Wth who a bot
B/c on the bottom of a page or something it should say “About” or “Contact Us”
Or something along those lines
Or give me the name of the website
Give it a day or so, some authors manually approve their purchases. If you still don't have it then contact them and/or paypal.
@exotic narwhal Please don't respond if you know absolutely nothing about the topic or what the user is asking... I get that you are trying to help but randomly throwing answers at them and giving the incorrect information doesn't help.
Someone who use intellij a lot and codes with 1.8.9 dm me pls
I use Eclipse
i try to organize my class, and on my server this pl dosent work properly, did i do it wrong ? please tell me
Do you have an error message you can share?
Well let's talk about the naming of packages
no, but on that plugin i create, i have command like a /rankup but says, command not found
I thought you were asking about why your plugin doesn't work, and about the organization, you didn't mention a command earlier
mustbe?
and also lowercase
just be consistent if you are at least not going to follow Java's standards
so how i rename that package
What does your plugin do, primarily?
its gui's for 1.15.2, if im using the script my console spamming InventoryClickevent bla bla bla thats why i create plugin
like this for example
It tells you the error
Well, I can see this organizational problem extends beyond your package name 😛
This sounds like you're using skript improperly when retrieving the name of an Inventory/Gui
im research in google, dev skript says in java 1.14+ shows like that
just look at the github threats
github threats??
some people are just really committed to hating github, I guess?
You mean the issues for the Skript repo on github? when you say 'threats', I assume you meant threads.
also did you mean java 1.14 or MC 1.14+
Does anyone here have a bungee cord server i am going to set 1 up and i just have a few basic questions before I do
If I am starting up a bungee cord server do I need to pay for a 1gb server as the bungee cord host for people to join through? also does it matter how many gbs of ram it has if so
how to remove drops in a certain time? any plugin?
Clearlag
ty
np
@old elk I am using bungeecord
for the bc doesnt take lot of ram
about 500 is enough
mbs?
Is that guide I linked correct regarding the Ram recommendations?
It recommends 512MB of ram for 500 players
ys
so back to my problem, can i rename the package ?
I don't think you've fully described your problem.
yeah I meant like from what i saw i need to pay for a server then set it up with bungeecord and it will not be used other than to redirect to my other server
on localhost or...
I am using a hosting site
so the bungee and the spigot are on the same server?
Important Security Notice
100mb per person on the server (about)
it said on the link that it is like500mb for 500 players
including bungee and spigot
That's for bungeecord, the 512 -> 500
??????????????
2^n
100mb per player?
ys on spigot
is that for the main bungee server or the individual severs?
What would I need to do for the --rev with build tools for a snapshot build?
How is this still a thing where we categorize players with how much RAM we need.
Aren't you talking about two seperate things? Ram for the Bungeecord server, and ram for each of your spigot servers?
There are a multitude of factors that can contribute to the numbers and it can also be different parts of the server
no,if you using bungeecord,ram need 500mb
but bungeecord will not let you play minecraft
You need to add spigot server
so if im not getting confused if my bungee server had 1gb of ram and they connect to a 1gb paper server through the bungee server it would host like 900 ppl?
and 1 gb ram?
Even really optimized stuff with enough resources has problems surpassing 1,000 people
impossible
1GB won't get you near.
no I meant like the network could host 900 ppl not like on the 1 server
10 person per 1 gb ram(about)
Typically you connect a number of spigot servers to your bungee cord server, it's a proxy or standin for connecting to all of your spigot servers
each spigot server is only going to be able to handle a fraction of the total your bungeecord indicates
ok thx
If you could really manage a lot of players on one spigot server, you wouldn't even need bungee
But bungee can prevent ddos
but 1 gb ram
i dont think you need
just add whitelist
how many players would you typically try to handle on one spigot server? 50?
no his server will not possible for handling 50 just 10 or below
I mean if you were going to have your bungee cord say the limit is 500, how many spigot instances would you need, with how much ram per each?
Out of curiosity
100mb...
@red zenith depends really. Are we talking custom servers or what?
because custom server you can easily handle thousands if you know what you are doing
I was just trying to get a ballpark number based upon what QB was saying
just wondering if I have a 4gb server and i offer like 50 player slots or so would the other players go into que automatically or would i need to set that up separately?
queue would have to be implemented by you, and you would still need a server for them to enter for them to wait
with a 4gb server you can easily host 50 players
Have things improved with 1.15 versus 1.14?
in terms of requirements? It seemed like 1.14 had issues that were increasing the amount of resources you needed in comparison to 1.13
Depends on the server type, a survival / factions server there's no way you could have 50 players with 4GB
you can have 50 players with 4gb with a factions/survival server.
just don't use shitty hardware or VM's
on a dedicated machine, then?
that is what I use. Can't expect VM's to perform the way you want if you are renting from terrible hosters
I mean I have gone on servers with 100 players and 4gb and it ran decent and servers with 40 players and 4gb and it ran like crap I am planning on using mysql and minimal plugins and clearlag to reduce the impact on the server
everyone expects these MC server softwares to magically perform on less then par hardware
which isn't realistic
Of course the trade off is a bump up in the cost though?
how much you think a dedi costs to run a 100 player survival server?
I would expect a dedicated to be fairly expensive, in most cases?
i mean 4gb is only like $10
4gb dedicated?
yeah
I pay for Quad core Xeon 3.7ghz hyperthreaded, 64GB of ram, 4x 2TB HDD's, 13 IPV4 addresses, /64 IPV6 and a gigabit connection all for $71 a month
damn
and its from ovh too 😉
yeah I was just looking at something else, I know a lot of people recommend OVH
there is OVH, soyoustart and kimsufi, all the same company, just different hardware for different budgets
I dont understand how ovh works
I see a hosting server called Bisect offers a similar package to yours, in terms of ram
soyoustart is older hardware that OVH main had, and the kimsufi is the old hardware from soyoustart
I dont know how good their cpu's are though
just because it is old doesn't mean it doesn't perform
soyoustart has decent prices on slightly older hardware
which is where my dedicated box is from
but I mean, when you compare my specs for how much I pay vs your VM or VPS and how much you are paying. Kind of hard to say that my slightly older hardware underpeforms in that comparison 😛
I guess it really depends upon what kind of setup you're going for
Quick question, for inventoyclickevent .getCursor() is the item you are hoverig over and getCurrentItem() is the item you have picked up?
how many servers, game modes, players
I can probably run 4 servers pretty decently with an average player base on each of around 60-70
just depends what exactly you do. However I have the advantage that I do programming
so I have no problems running custom servers that fit my needs
for instance, you don't need a server that knows about a hundred entities when your hub is only using like 4-5 entities
so remove all the others 😉
now the hub is running a bit more efficient
I program as well, my understanding, in terms of profiling or resources needed, isn't as complete.
Sure, I was using one server, with multiple worlds, instead of bungee and splitting the load.
But the principle is the same, disable a lot of features on the hub world.
Well my point is, you can't always expect public offering software to perform like enterprise software out of the box even if you have decent hardware. Also can't expect any kind of software to perform decently if you are using subpar hardware either.
So you want that better performance, need to learn how to make that happen then 😉
Well, I know virtualization has come a long way, but it won't ever be the same as a dedicated machine.
But in terms of managing, I would think that utilizing containers/vms would be easier?
the problem with renting VM's from hosters is they tend to overload their boxes
or you end up with randoms who can in theory overload the box and cause problems for everyone else
you also lose a lot of the control you should have like SSH
no reason you shouldn't have ssh on a VPS XD
Sure, and of course a lot of those shared hosting services can oversell a machine.
yes, however I can use VM's on my dedicated box and as long as I don't overload it, will work out in my favor to segregate my services
So I can have a VM for the DB server and Web, which keeps the MC servers separated but they are all on the same hardware
performance isn't going to be hurt by that either
at least unlike others, you have a pretty good idea of how it works @red zenith but some of these people that come in here, expect some enterprise server software out of the box and to magically work on sub-par machines XD
I mean, I was able to configure spot instances via AWS to run a server for a fraction of what a dedicated VM would cost. But ultimately that's still a VM. Even though you can customize the ram, cpus/cores and drives, it's probably more cost effective and practical to use OVH.
I ended up moving to a shared host because I didn't have the time to spend doing all the sysadmin stuff, even though I know enough about setting up and maintaining it.
I just don't see the typical person who wants to start up a server being able to go the dedicated route, at least not initially.
if you are referring to kids sure
but these kids want to make a business out of it too
and unfortunately it takes money to make some money
XD
Sure, and I would expect anyone, including kids, that dedicate enough time to move in that direction.
yes it is doable to start from a lower end and work your way up
but as you said, dedicate enough time
but not only dedicate time, but actually learn the stuff you are running
That's the advantage of someone else managing some aspects of it, but it's a crap shoot.
question: what should i use for asynchronous functions? a Thread()?
You can either make use of bukkits runnables and schedulers if you want it to run in sync with the tick loop
or if you don't need it to run in sync make use of Threads
thanks :)
anything that interacts with the spigot/bukkit api needs to do it on the main thread, sync though, right?
If you're going to save data to a backend, it can be async?
But if you know what you are doing though you can do some things async
just the API as it stands is not thread safe, so have to do additional stuff to make it thread safe
well im doing a vein miner and tree chopper so i can probably either do runnables or save it to a list then work through it on the next tick
even with bukkits async runnables, not wise to use the api async
many problems happen unless you modify your code to make it thread safe
Sure you can schedule it to run the task sync on the next tick or a later tick
start learning about some async methods and the synchronization key word. ConcurrentHashMap exists fyi
You just don't want to schedule a really long or complicated task to be done all at once in the main thread at the same time, because it will block
^
I use A ConcurrentHashMap to cache my player data
which gets loaded from configs, at least for now.
Was considering using mysql or database to store that info, but, for my case, the configs were fine.
well for this specific case its likely to just add a few locations to a hashmap or synchronised list so it shouldnt be too out of the world to implement
well if you schedule the action that's supposed to be performed when you use one of your tools, then I don't know if the HashMap is necessary?
I guess you could calculate the blocks that should be harvested, and then perform the operation?
yeah thats option 2
you can hold location coords async, just don't try to use those locations to do actions async
option one is to just use a runnable
I have tools like that as well, an axe that can cut down an entire tree with one swing.
the look algorithm is something i'll have to experiment with though
and I could probably optimize that. I know the tools in WorldEdit work very responsively
like the super pickaxe
for vein miner ill probably do recursive 3x3x3 searches
so they must be doing something like that
in the spigot api?
yes
as in draw a assumed box on where a vein should be? i dont like that approach because it might clip other veins
albeit a tiny chance
if they are all 3x3x3 boxes, then I don't see how that would be possible
I assume you're just checking for nearby blocks of the same type, yes?
I think the idea is to only remove certain blocks within that 3x3x3 area?
oh you're saying to make 3x3x3 bounding boxes?
You mine coal -> the entire coal vine is mined?
yep
Try using a flood fill algorithm
It probably isn't more efficient than a 3x3x3 box, but it'll work better
the super pickaxe tool in WorldEdit works like that
or it can, whatever block type you're hitting, and whatever radius you configure, it only removes blocks within that radius. So not 100% what you're going for (only blocks connected to the same vein)
just use bounding box, define how large a vein is, then all you have to do is check if the similar blocks are near each other with a simple loop
I suppose you could use some kind of ADT to store blocks as you recursively parse, so you don't need to revisit them or add more than once?
How are you supposed to define how large the vein is?
i can use a thread safe queue
check for contiguous blocks of the same type
That's what flood fill is
doing only that misses out on the diagonals.
up,down,left,right; maybe diagonally? after all they did say 3x3x3.
Why even make the bounding box if you're gonna do that anyways 🤔
You can floodfill diagonally.
my only concern with my approach is performance
but bounding box is way better, because you can just do a contains check to see if its in the box
Yeah but how do you define the box
well, if you can search through the selected region off the main thread
bounding box does solve that but it isnt very exact
and then perform the operation on the list you generate on the main thread
you get the upper most x,z,y and the lowest, xyz two opposite corners
however as I posted earlier BoundingBox exists in the API already
How would you know the corners? lol
base it around where the digging is happening
then define how large of a box you want
then it can clip other veins or not mine the whole vein
I agree that a bounding box is more efficient, but Frost, I don't understand how you're getting the box definitions. If you're mining a randomly generated vein, there's no way you could know the corners or the size of the box.
its a paradox .D
yeah its not a very good approach functionally but it is performance-wise
sure you can, you can arbitrarily put limits
Without using floodfill, and at that point, the box doesn't matter
and then you can extend those limits
magic numbers are not great
based on pre-requisites
I guess you would have to check the algorithm for the vein generation, to get a rough idea of the typical layout, and make an assumption? You could just use a bigger bounding box, and then only include ones that are adjacent to the original block you break, within a certain distance
So you're saying if it's a coal vein, just make the box massive?
well by magic numbers, I think they mean constraints
And if it's diamond make it smaller?
just because its a bounding box, doesn't mean you can't make exceptions when it is ok to check outside of the box
for instance, at most the blocks will be 1 block apart in either direction if its part of the same vein
but you are going to have to define how large a vein is anyways since veins can sometimes be large
there are oddball generations where there are veins on veins which make them bigger as a whole in which case fixed bounding box might not work
That's what I'm saying, you have NO IDEA how large the vein is, so you have NO IDEA how large to make the box.
Now you're starting to sound really demanding, first you have to think about the box, then you have think outside of it. 😉
fixed bounding box does work, just probably shouldn't let your methods get out of ahead for such cases lol
Is there any way to change my name on the forums?
Donate
last thing you want is a super large vein and then be waiting on it to process that entire thing
how much
$10 I think
Well, you could also add another limit; set a max number of blocks that can be mined with one swing
I made my name when I was too young and it's racist as fuck
just make a new account lol
I bought a plugin D:
@red zenith that is essentially defining how large a vein can be lol
well its probably cheaper than $10
well, but you mentioned overlapping veins
yes, my point is you are going to want limits anyways to prevent the odd exception where the method can get out of hand due to overly large veins
or what the plugin interprets as a large vein
How large of veins are you expecting? lol
schwarzenegger sized
Does it account for player placed silked blocks?
the perfect way to finding correct vein is
just getting relative blocks unless current block hasn't have any same type relative
but for 2x2 solid vein it will 16 check
if you made a 2x2 bounding box it will check 4 times
but it has stones in the vein
it can be nearly same
Fair I suppose, but with flood fil you can put limits too ¯_(ツ)_/¯
honestly at this point i dont think any implementations are that laggy because at most you're processing around 40 ores asynchronously
yes so we are back to imposing limits and bounding box already having said limits already 😛
and bounding box, you can still check outside of the box too
Well, just create a couple of different implementations and test them out?
but time can be problem at this time .D
Sure, but the problem with bounding boxes is what is the vein is longer than the bounding box, but the vein is relatively tiny in size
yeah ill probably go with 3x3x3 not that the other implementations are bad but it sounds like the most reasonable to me
so just program the night/day cycle to stand still when you're using your mining tool?
flood fill may be better but i dont understand it
who said you can't check outside of the box @upper hearth
point of the bounding box is doing all the checks in a manner that is quick and efficient
@frigid heath u smart
for the outside box checks, you can make your methods based on the box
they are talking about a vein can be bigger than max bounding box size
@keen wing wrong until yesterday 11pm i thought there was 100 ms in 1s
Anyone know of anyway of getting Plots Squared to enable mobs hurting players?
I know @fair abyss but, you can still check outside of the box to see if the vein extends past its boundaries
@keen wing plot squared has a discord server, ask there for "better" help
if it does, extend the box in that direction
Lol @fair abyss you know the "help" I'll get
@keen compass you cant know which vein is big than bounding box
Just asking out, thanks though :p
@keen compass but you'd have to check for EVERY vein if it's outside the box?
So what's even the point of the box lmao
how about i make a compromise and do recursive 3x3x3 bounding boxes lmao
@upper hearth because a contains check is faster then a loop
not talking about a block is STILL in box's area
talking about a block that isn't in are of boundin box
im aware recursive 3x3x3 bounding boxes have no benefit btw
@keen compass Sure, but how's is supposed to know if there's an ore outside the box? Now you're checking outside, and what if 2 ores are outside?
a normal coal ore will be bigger than 3x3x3
@fair abyss thats why i said recursiv
e
for each following coal ore found if its not already in the list it will perform the check again
look if you don't know how to build code off of a bounding box, then I guess that isn't my problem then 😛
shots fired
Lmao alr
I know you can check outside the box omfg
Not what I'm saying
You're gonna have to check outside the box for every single vein
yes, which is much faster when you can exclude blocks you already know about
generate a vector that approximates the direction the vein goes within the bounding box and check in that direction, outside the box? 😛
"area" is a "square" you cant just say "much faster"
this channel is just 5 people arguing about the best implementation to search through voxels in a block game
contains check is always faster then a loop
can try and prove that wrong but it won't be
probably you will get nearly same results
cba tbh if my first implementation doesnt cause major performance issues ill stick to it
for testing with one player
yeah and i dont really have friends
Turns out PVE is a flag and disabled by default.
kind of random there o.O
sure, ultimately you're just trying to give the player the impression of efficiency, or a big boost from what they normally expect
not just that, you don't want your code to bog down the server
How is contains faster when it uses a for loop anyways
multiple loops running for a bunch of players will cause performance problems
@upper hearth because it doesn't use a loop for the contains check
so even if it doesn't do it in the ideal way, getting all possible blocks, and it performs well, then it's not worth worrying over the perfect approach.
funny how this conversation revolves around the arguably easier part of the vein miner, the next part is processing each ore and determining what to give them based on fortune, silk touch, and my cutclean scenario
Bounding box already has a known locations
Why can't you schedule the determination of which blocks to break async?
and actually break them sync?
already doing that
contains checks if the block is within the limits of the coords, simple math, but still a contains check
then whats the issue with the looping bogging down the server?
might take minimally longer and cause it to skip a tick ¯_(ツ)_/¯
so can you tell me, how about "creating bounding box" and "dedecting and removing veins from box" without looping?

I remember there being an option for this, Geo