#help-archived

1 messages · Page 121 of 1

torn robin
#

that will make each enchantment automatically call the super method, hence auto-registering

paper compass
#

Is there a way to spawn a baby zombie without it riding a chicken?

torn robin
#

zombie.setBaby(true)

open girder
#

could I make it so in the constructor of each enchantment I add Main.getInstance().getPluginManager().registerEvents(this, Main.getInstance())

paper compass
#

without it riding a chicken?

tiny dagger
#

zombie.leaveMount();

torn robin
#

world#spawnEntity ?

sturdy oar
#

save them in an enum

torn robin
#

@open girder if you're using the static singleton you don't need to even have the JavaPlugin argument

sturdy oar
#

and do enum.values

#

then you can simply do

paper compass
#

z.leaveVehicle()?

open girder
#

static singleton?

sturdy oar
#
for (Listener listener : ListenerEnum.values()) 
  Bukkit.getPluginManager.registerEvents(this, listener);

@open girder

torn robin
#

Main.getInstance is the static singleton

open girder
#

ah thanks

torn robin
#

@sturdy oar how would that work exactly

sturdy oar
#

you have an enum with instances of listeners

#

and you simply get them all with enum.values

torn robin
#

wouldn't the be an enum class?

open girder
#

in my case i think that would translate to

for(Listener listener : EcoEnchants.getAll())
  Bukkit.getPluginManager.registerEvents(this, listener)
#

i don't have an enum class but I don't need one here

sturdy oar
#

but you would have all of them like this

#

since from your snippet it seemed like you didn't have any constructor argument

#

you could do it

torn robin
#

so you'd have to do

for (ListenerEnum listener : ListenerEnum.values()) 
  Bukkit.getPluginManager.registerEvents(this, listener.getValue());
sturdy oar
#

yes

#

no

#

i mean yeah

#

i didn't write the getter

torn robin
#
for (Listener listener : ListenerEnum.values()) 
  Bukkit.getPluginManager.registerEvents(this, listener);

I don't get how this works

#

oh ok

#

just making sure

open girder
#

because all my enchantments implement listener

torn robin
#

should work

sturdy oar
#

what's that casting 😐

torn robin
#

assuming EcoEnchants has all of them

open girder
#

i can cast enchantment to listner because they all implement listener

torn robin
#

do you even have to cast tho?

#

you shouldn't have to

sturdy oar
#

ye

torn robin
#

unless Enchantment is the vanilla implementation

sturdy oar
#

just loop through Listener

open girder
#

it is the vanilla implementation

torn robin
#

interesting

sturdy oar
#

for (Listener listener : EcoEnchants.getAll())

#

i suppose?

open girder
#

nah

#

because getAll returns Set<Enchantment>

torn robin
#

fair

sturdy oar
#

well ok

open girder
#

yeah it works

#

thanks guys

paper compass
#

How do I remove an entities AI in 1.11.2

#

nvm

torn robin
#

setAI

paper compass
#

Exactly why I said "nvm"

torn robin
#

👍

sturdy oar
#

does someone know a cheap host where i could host databases?

torn robin
#

@sturdy oar any chance you have a .edu email?

paper compass
#

OVH lmao

torn robin
#

I used to use vultr.com for a VPS, not sure if they have databases

sturdy oar
#

i have a school email , however it's not .edu

paper compass
#

Nope I don't know any

torn robin
#

rip

sturdy oar
#

I'll try to get a VirtualMachine with Arch linux and put them there

#

it should be pretty much the same

pure pasture
#

@undone narwhal You still here?

hushed sedge
#

is there any way to send commands from one server to the other server? for ex i have a lobby server and a bedwars server with a bw
plugin. So i can do /bw join (map) from the lobby server and get teleported to the other server and get teleported to the waitinglobby`?

pure pasture
#

Yeah

#

You could just use a bungeecord compatible bedwars plugin xD

tawdry venture
#

what is the proper way to decrease an itemstack amount?

tiny dagger
#

cough

#

getAmount()/2 by half

strange grove
#

does anyone know how to access an array list that holds a string and get that specific string for the specific entity that has that string?

tiny dagger
#

contains(string)

strange grove
#

lemme show yo umy code

#

ArrayList<String> imgname = new ArrayList<String>();

tiny dagger
#

remove(string) returns a boolean if it was found as well

tawdry venture
#

alright why does my IDE says 'can only iterate over an array or an instance of java.lang.Iterable' for the player.getInventory().iterator()????

tiny dagger
#

well

strange grove
#

so returns true or false?

tiny dagger
#

it doesn't implement iterable then

strange grove
#

*it

tawdry venture
#

that method literally returns a ListIterator

tiny dagger
#

maybe

strange grove
#

anyway here is the reast of my ocde

tiny dagger
#

but it's not a iterable class

tawdry venture
#

that extends Iterator

tiny dagger
#

it needs to have iterator();

silk bane
#

Iterator isn’t Iterable

strange grove
#
    public void ImgCommand(final CommandSender sender) {
        if (sender instanceof Player) {
            Player player = (Player) sender;
            World world = Bukkit.getServer().getWorld("world");
            Location l = player.getLocation();
            Collection<Entity> nearbyEntities = l.getWorld().getNearbyEntities(l, 8, 8, 8);
            if (player.getNearbyEntities(5,5,5).contains(imgname)){
                player.sendMessage(ChatColor.BLUE + "This is " + imgname + ".");
            }

        }
    }```
#

I think

#

I see now why

torn robin
#

iterating an iterable

#

that would be neat

undone narwhal
#

getNearbyEntities is not a String list

strange grove
#

maybe it's just that i'm defining the getNearbyEntities already

#

😦

undone narwhal
#

What is your goal?

strange grove
#

to get the image name of an itemframe

#

and detect where it is

#

by timing it and spawning and armor stand

tawdry venture
#

thanks I figured out

strange grove
#

then deleting the armor stand after it is finished

undone narwhal
#

then you have to check for each entity in the getNearbyEntities if the type is instance of ItemFrame, and then display the entity.getCustomName() ?

strange grove
#

that's it?

#

are you sure that could get the function that holds the names?

#

cause I also did this

#

imgname.add(name);

#

to add the string name

#
imgname.add(name);```
#

of the image to the array list

#

but I want to call it

undone narwhal
#

the #contains method to getNearbyEntities isn't string, it's Entity collection

strange grove
#

yeah

#

probably should delete that

#

well the one that's being defined before the other one

undone narwhal
#

I'm lost lmao

strange grove
#


    if (sender instanceof Player) {
            Player player = (Player) sender;
            World world = Bukkit.getServer().getWorld("world");
            Location l = player.getLocation();
            if (player.getNearbyEntities(5,5,5).contains(imgname)){
                player.sendMessage(ChatColor.BLUE + "This is " + imgname + ".");
            }

        }
    }```
#

so something like this correct?

#

cause i'm asking

#

if it contains the imgname

undone narwhal
#

What's imgname type?

strange grove
#

it's basically

#

getting the args

#

of a command

#

that is placed

#

and naming an image after that

#

/af <nameOfimg> <UrlOfImg>

#

like this

undone narwhal
#

getNearbyEntities is a Entity collection, you can't use a contains(String) method

#

Cause Entity is not a String

strange grove
#

then what do i do?

undone narwhal
#

Get all the ItemFrames entity

#

and check their custom name (if it what you want)

strange grove
#

heres my code

#

@Command(name = "ImgName",
            aliases = {
                    "In",
                    "ImageName",
                    "ImageNameDetector"
            },
            usage = "/ImgName",
            fallbackPrefix = "animatedframes")
    public void ImgCommand(final CommandSender sender) {
        if (sender instanceof Player) {

            for(Player player : Bukkit.getServer().getOnlinePlayers()) {
                for(Entity entity : player.getNearbyEntities(5, 5, 5)) {
                    World world = Bukkit.getServer().getWorld("world");
                    Location l = player.getLocation();
                    if(entity instanceof ItemFrame) {
                        ItemFrame itemFrame = (ItemFrame) entity;
                        if (itemFrame == imgname){
                            player.chat(ChatColor.BLUE + "This is " + imgname + ".");
                        }
                    }
                }
            }

        }
    }
#

@anyone

#

should this be able to work?

little salmon
#

yes

undone narwhal
#

no

strange grove
#

it's for getting the imgname of na entity

sturdy oar
#

what is that library with @Command annotation

undone narwhal
#

ItemFrame instance cannot be equals to a String

strange grove
#

it's for defining a command

#

most likely

#

hmm

undone narwhal
#

no

#

Man seriously

torn robin
#

swap the fors

undone narwhal
#

ItemFrame == String

torn robin
#

you should tell each player per item

strange grove
#

it does not

torn robin
#

not go through each world per player

strange grove
#

let you

#

do

torn robin
#

that's horrendous performance

#

oh im blind nvm

#

didn't see the nearbyEntities thing

strange grove
#

itemFrame.contains(imgname);
undone narwhal
#

No

strange grove
#

well

#

hmm

undone narwhal
#

itemFrame.getCustomName()

#

if it's on the custom name

strange grove
#

oh i'm an idiot

#

sry

#

brb

undone narwhal
#

That's okay..

strange grove
#
if (itemFrame.getCustomName(imgname)){
                            player.chat(ChatColor.BLUE + "This is " + imgname + ".");
                        }```
#

something like this?

#

or am I wrong yet again

#

and money is not always the answer

undone narwhal
#

itemFrame.getCustomName().equals(imgname)

strange grove
#

oh

undone narwhal
#

or equalIgnoreCase

strange grove
#

and that got my iq

#

now it's down by at least 10%

torn robin
#

i think thats being generous

strange grove
#

well

#

not to my iq

#

but yeah

iron trellis
#

Hello

#

I need some help

torn robin
#

we know

iron trellis
#

Mini gameslib isn’t working

torn robin
#

whatcha need help with

#

how is it not working

iron trellis
#

I’m in 1.12.2

torn robin
#

and have you contacted the plugin author

iron trellis
#

The command /mg just doesn’t show up

#

and have you contacted the plugin author
@torn robin they stopped working on it

torn robin
#

does it show up in /plugins ? are there any errors?

#

i mean it's probably outdated then lol

iron trellis
#

But

#

It is available for 1,12,2

#

It’s the last version it got updated to

torn robin
#

does it show up in /plugins ? are there any errors?

iron trellis
#

Uhm

#

I don’t normally do that

#

But

#

No errors

torn robin
#

hmm

#

since the author isn't updating it anymore i doubt youll be able to use it

iron trellis
#

He made it so you can use it in 1.12.2

torn robin
#

we cant really help you, best thing you could do is get someone to update it

#

i mean if he's no longer active he can't really help lol

iron trellis
#

How do I do mini games in my mc server then?

torn robin
#

use a diff plugin

tall jacinth
#
  min: 70.0```what does this actually mean. also is there a `max:` option
strange grove
#

I have an errror

#

Caused by: org.inventivetalent.pluginannotations.command.exception.UnhandledCommandException: Unhandled exception while invoking command method in org.inventivetalent.animatedframes.Commands@797a6626#ImgCommand

#

it says this when I run it

#

which is weird

undone narwhal
#

full stack trace?

strange grove
#

define that?

#

but lemme see if it's getting confused by the command annotation

#

maybe I should

#

make a class

#

just for this command

#

brb

vernal spruce
#

By full stack trace he means thats not the full error

kind crow
#

Are there any spigot forks that do chunk generation on multiple cores? (And keep vanilla chunk generation)

hoary parcel
#

Yes

#

Paper

kind crow
#

Hm, that's strange. I run paper 1.12 and it seems like it's generating chunks on one core. At least I see that only one core at 100% and the others are at like 10-20% max

sturdy oar
#

🤦 Paper 1.12

#

1.8.8 , NMS 🤦

fossil shoal
#

I am trying to teleport a horse to a location, it works fine unless there is a passenger on the horse in which case nothing happens. What I do to overcome this is call player.leaveVehicle then teleport the player and the horse and then adding the player back as a passenger, this method is buggy, sometimes doesn't work and spams the console with horse moved wrongly messages. any ideas?

sturdy oar
#

yeah teleporting animals while something is mounted on them

#

is buggy

#

I think you can just get around it with dismounting the player, teleporting the player, teleporting the animal on player new location , then making the player mount the animal again

fossil shoal
#

As I said, that's what I am doing, and this is also buggy

open girder
#

more of a general good practice question, currently I have my abstract enchantment extension class in a wrappers package. Should i name the package something else?

kind crow
#

🤦 Paper 1.12
@sturdy oar I mean paper for minecraft 1.12. What's wrong?

sturdy oar
#

it's not latest

#

🤷‍♂️

kind crow
#

Latest is not stable enough

frigid ember
#

basically you cannot at all use any other version than the latest

#

or

#

well you just cant

open girder
#

just use the latest build

#

Also, why are you running 1.12?

kind crow
#

1.15 is not stable enough as I said. There are too much things to worry about. It's critical for anarchy servers

open girder
#

just because 2b2t does something doesn't mean you should too

#

also 1.15 is extremely stable

#

1.14 isn't but 1.15 absolutely is

hollow thorn
#

also 2b2t is going straight to 1.16

#

PluginManager pm = Bukkit.getPluginManager();
pm.registerEvents(this, this);

#

remove the playerjoin

#

and make it just this

#

what

#

i never use player join

#

i just use

#

luginManager pm = Bukkit.getPluginManager();
pm.registerEvents(this, this);

#

PluginManager pm = Bukkit.getPluginManager();
pm.registerEvents(this, this);

#

i believe using playerjoin might limit the amount of events being registered

#

so if you make the thing send a log on the event

#

take damage

#

you wont recieve anything

#

try putting a info thingy into the event

frigid ember
#

just saying

#

hivemc uses 1.8 on all servers w/ viaversion

karmic torrent
#

Hi, looking for someone to help me with setting up crackshot custom crafting recipes? I've gotten to the point where it should work, but when I put in the correct ingredients nothing gets crafted.

#

I'm running on 1.15.

hollow thorn
#
                                                  loc2.add(loc2);
                                                  Egg ee = loc2.getWorld().spawn(loc2, Egg.class);
                                                  ee.teleport(loc2);
                                                  
                                                  ee.setShooter((ProjectileSource) turret);
                                                  Vector y = turret.getVelocity();
                                                  int x = 40;
    
    ee.setVelocity(y.multiply(x/20));``` why isnt this working
pastel igloo
#

how do i make Global in groupmanager?

errant python
#

@hollow thorn You need to provide more code and a stack trace.

iron summit
#

does anyone know how many packet can a player receive from the server?

errant python
#

@iron summit In what context?

pastel igloo
#

global groups *

errant python
#

@pastel igloo Use the default group in your perms manager.

iron summit
#

currently I'm working on particle stuff, i found that player will be timed out if there're too many particles

pastel igloo
iron summit
#

So i would like to know the maximum amount of packet that a player can receive.

pastel igloo
#

normaly i use PEX but i want to learn Groupmanager because i got a plugin that uses pex for (Kingdoms) and i want to set my staff ranks whit groupmanager

errant python
#

@iron summit I'd try increasing your packet compression in server.properties.

hollow thorn
#

@hollow thorn You need to provide more code and a stack trace.
@errant python what?

errant python
hollow thorn
#

new BukkitRunnable(){
@Override
public void run(){
for(World w: Bukkit.getServer().getWorlds()){
for(Entity turret: w.getEntities()){
if(turret.getScoreboardTags().contains("turret")) {
for(Entity ent: turret.getNearbyEntities(5, 5, 5)){
if(ent instanceof Monster){
Location loc = turret.getLocation();
turret.teleport(loc.setDirection(ent.getLocation().subtract(loc).toVector()));
Location loc2 = turret.getLocation();
loc2.add(loc2);
Egg ee = loc2.getWorld().spawn(loc2, Egg.class);
ee.teleport(loc2);

                                              ee.setShooter((ProjectileSource) turret);
                                              Vector y = turret.getVelocity();
                                              int x = 40;

ee.setVelocity(y.multiply(x/20));
                                          }}
#

there the pointing of the entity works

#

but not the creation of the projectile

pastel igloo
#

thx

#

but i dont understand anything :/ (im dutch )

#

mirrors:
# Worlds listed here have their settings mirrored in their children.
# The first element 'world' is the main worlds name, and is the parent world.
# subsequent elements 'world_nether' and 'world_the_end' are worlds which will use
# the same user/groups files as the parent.
# the element 'all_unnamed_worlds' specifies all worlds that aren't listed, and automatically mirrors them to it's parent.
# Each child world can be configured to mirror the 'groups', 'users' or both files from its parent.
world:
spawn:
- users
- groups
kingdommap:
- users
- groups
END:
- users
- groups

#

i got my 3 maps in there now

#

my groups are per world

#

but they dissapear when i change from world

#

and when i set a g: before my groups

errant python
#

@hollow thorn Try walking through your code. Say what each line does out-loud(its called rubber-ducking).

pastel igloo
#

i get an error.log

errant python
#

@pastel igloo What error do you get?

ripe ledge
#

If I have a plugin file (jar file) how I can extract this file back to project?

pastel igloo
#

pastebin?

errant python
#

@ripe ledge Use something like JD-GUI to read it, or a decompiler.

#

@pastel igloo Sure.

digital pebble
#

can u help me with the cuberunner plugin

ripe ledge
#

how to decompie

#

the file

hollow thorn
#

Egg ee = loc2.getWorld().spawn(loc2, Egg.class);
ee.teleport(loc2); this shouldnt break it should it

errant python
pastel igloo
digital pebble
#

when i do setzone command it tell me a error that internal error occurred while performing this command

errant python
#

@hollow thorn Loc and Loc2 seem to be the same locations.

hollow thorn
#

they are

#

the only difference is dir

fossil shoal
#

not spigot related, but does someone know how can I write something with a height of two cells in excell?

errant python
#

@fossil shoal Merge the cells.

ripe ledge
digital pebble
#

plz answer my q

errant python
#

@digital pebble I need more context.

#

@hollow thorn I think you are teleporting the item to the same place by the looks of it :/

hollow thorn
#

shouldnt prevent its existance though

digital pebble
#

how to see

rancid crow
#

How can I create a scheduled Bukkit runner event that cancels when the player switches to another item?

fossil shoal
#

@fossil shoal Merge the cells.
@errant python thanks I'll try

errant python
#

@hollow thorn That is true. Is it spawning inside the turret?

ripe ledge
hollow thorn
#

no

#

i took a precaution

#

to spawn it infront

#

loc2.add(loc2);

digital pebble
#

what is mean by context and how to get it

errant python
#

@hollow thorn But loc2 is the center of the turret entity, right?

ripe ledge
errant python
#

In the code you posted I cannot see you moving those crodinates.

hollow thorn
#

i did loc2.add(loc2)

#

loc2.add(loc2); this changes the coordinates

#

and if it was inside the entity

#

then where are the particles

errant python
#

@hollow thorn Location.add​(double x, double y, double z), ok, are you right next to world center?

#

@ripe ledge Any of those work.

digital pebble
#

in cube runner plugin when i do /cr setzone cuberunner command it tell me a error that (an internal error occurred while attempting to performing this command)

hollow thorn
#

@hollow thorn Location.add​(double x, double y, double z), ok, are you right next to world center?
@errant python i use a projectile launching plugin that uses the same method at the same coordinates so i dont think so

errant python
#

@digital pebble Id contact the plugin developer.

#

@hollow thorn Oh, if your using an API to launch it, then I really don't know man. I thought you had created all the methods :/

hollow thorn
#

i created the method

#

im not using an api

#

i used the same code to move a coordinate

errant python
#

"i use a projectile launching plugin"

hollow thorn
#

that i made

#

sorry

errant python
#

Ok, sorry I didn't understand.

#

@hollow thorn To be honest, I think you try and get the spawn working with hard coordinates, once your sure everything else is working, then move to dynamic coordinates, if you have not already.

hollow thorn
#

i have got aplugin to work with spawning chickens

errant python
#

i have got aplugin to work with spawning chickens
@hollow thorn Cool! Then try and replicate the results with hard coordinates. Sometimes you forget about dependancies when ^C ^V'ing your own code.

vernal spruce
#

What does he have a problem with?

sturdy oar
#

@ripe ledge The result won't be the same

#

a decompiled code will never be equal to the one that you wrote

#

it can be very similar, but funny stuff like for examples enum turns into classes extending Enum

timid valley
#

this is not paper discord

#

ill fix it after work

#

but you can stop accessing chunks async 😉

#

thats only way that message prints

sturdy oar
#

Well.. talking about async

#

I've been modifying my code and I've noticed a thing

#

i was printing out some messages for debugging, and the sender is "pool-10-thread-2" does that mean the messages are being sent from a thread which is not the spigot main thread?

#

That also seems to be the cause of my issue because the command are not being dispatched

ripe ledge
#

it can be very similar, but funny stuff like for examples enum turns into classes extending Enum
@sturdy oar So I can't extract a plugin jar file back to a project?

sturdy oar
#

you can

#

but it may look different

ripe ledge
#

but how

sturdy oar
#

i'll provide a sample with my own project

ripe ledge
#

If I decomile It's create a lot of folders

sturdy oar
#

you need a decompiler

ripe ledge
#

that named "a"

#

Do you nave a good decompiler?

#

@sturdy oar

sturdy oar
#

Luyten is good

#

may I ask

#

why are you trying to get a project from a JAR

#

did you lose the repo or something lol

ripe ledge
#

I want to try edit a plugin
And check If I can edit a plugin I made only with the jar file.

sturdy oar
#

you can't edit a JAR file

ripe ledge
#

I know

sturdy oar
#

i mean you can technically with bytecode editors

#

such as Recaf

ripe ledge
#

I mean using the JAR file
and decomile it

sturdy oar
#

if you decompile it

ripe ledge
#

So how I can edit a plugin

sturdy oar
#

this seems like a XY problem

ripe ledge
#

XY?
What?

sturdy oar
#

is the jar you're trying to 'edit' your own?

#

or someone's else

ripe ledge
#

My

sturdy oar
#

then why don't you have the source code?

ripe ledge
#

I just want to try edit only with jar

#

check If I can edit a plugin that I have only the jar file of the plugin

sturdy oar
#

you can

ripe ledge
#

HOW

#

Decompile?

sturdy oar
#

bytecode manipulators

ripe ledge
#

Like you said

#

bytecode manipulators
@sturdy oar What is that

sturdy oar
#

tools to edit the jar's bytecode

#

they're not easy to use if you don't know what you're doing

ripe ledge
#

Ok thanks

sturdy oar
#

i suggest Recaf

ripe ledge
#

How I download this?

hollow thorn
#

how do i modify an existant command

#

for instance i want to make /time set bad

#

but how would i do this without overriding the old command

sturdy oar
#

ehm... i think you don't?

hollow thorn
#

so would i have to overrite the old command

#

so what do you think

#

/execute order 66

#

should do

frigid ember
#

hey guys. i need a new server provider

#

preferably under 20 bucks a month

hollow thorn
#

thers mcprohosting

#

i think thats free

ripe ledge
#

no

frigid ember
#

im paying shockbyte 15 a month for the 6gb but they arent responding to my support tickets

#

and it's going to be cancelled

#

i tried beastnode but they had a ssd size limit and weaker ram plans

#

Dont touch mcprohosting it is a scam

#

even though i know their support is amazing

#

They pay a big youtuber to get popular and then offer horrific hosting

#

i'd host on a vps too

#

if i knew a good site for one

ripe ledge
#

There is or Serverpro (The support there is AMAZING, they always answer on mail in like 30 min)
And there is ShockByte (Support less better, but I thing they are more cheeper)

#

@frigid ember

frigid ember
#

yeah im currently on shockbyte

ripe ledge
#

Ok

frigid ember
#

my main problem is the god awful slow support

ripe ledge
#

If you want you can try serverpro

frigid ember
#

i'll check it out

ripe ledge
#

they ALWAYS answer on min in like 30 min

#

it's amazing

#

the support on server pro

frigid ember
#

yeah beastnode was like that

ripe ledge
frigid ember
#

i tried switching to them then i found out about the size limit

ripe ledge
#

What the problem with the size limit?

frigid ember
#

well its a 5gb limit

#

and it charges 0.75c for every extra gb

ripe ledge
#

For server?
Storage or RAM?

frigid ember
#

the ram for the 15 dollar plan was 4gb vs shockbytes 6

#

so i couldnt run ftb on it

#

storage

#

on their budget plans

ripe ledge
#

This is the plans on server pro:

hollow thorn
#

you could just use your own pc

ripe ledge
frigid ember
#

the premium plans dont have a limit but they have like no ram

#

yeah but i dont want to leave it on all the time

#

Server pro is bad

ripe ledge
#

Why

frigid ember
#

Why? They offer free hosting, they're going to be bad

ripe ledge
#

wait what
@frigid ember I am using a MEDIUM server on server pro And I have 20 GB Storage, not 4

frigid ember
#

Plus the actual valid points i cannot tell since im on mobile

#

i meant ram on beastnode was 4

#

5 was the storage limit

#

how much is that?

ripe ledge
#

what

#

I have 20

#

GB

frigid ember
#

your price

ripe ledge
#

10$

#

MEDIUM plan

frigid ember
#

thats not bad

ripe ledge
#

yeah

#

But what kind of server you want to do?

frigid ember
#

i'm running a 1.15.2 spigot

#

but i want the option for ftb

#

which requires more ram

ripe ledge
#

You want a forge server?

#

or fabric

#

I mean modded server

frigid ember
#

forge

ripe ledge
#

Ok yeah you need a lot of RAM for server with mods

#

But what is the server?
Survival?

#

@frigid ember

frigid ember
#

semi survival on the spigot

#

but i'd probably do continium or infinity evolved

#

on a ftb

ripe ledge
#

What?

frigid ember
#

are you familiar with ftb?

ripe ledge
#

I know it's a mod pack, right?

frigid ember
#

it's a total revamp really

ripe ledge
#

a very famous mod pack

frigid ember
#

tons of mods

ripe ledge
#

yeah

frigid ember
#

but it takes a lot of ram

ripe ledge
#

How much players you want to be in your server?

frigid ember
#

not many. 6gb is the range im looking for

ripe ledge
#

on average

frigid ember
#

15

ripe ledge
#

15 players that gonna play a lot and load a lot of chunks?

#

or players that gonna be at the same place

#

Because more chunks the server load, the more the server is heavy (Storage)

#

I thing you need like 6-10 GB RAM

#

@frigid ember

#

for your server

frigid ember
#

yeah i know

#

thats why beastnodes size limit wasnt going to work

ripe ledge
#

But now it's 20 GB Storage

#

on server pro

#

I thing It will be enough else you gonna create more worlds then the Overworld, Nether, and TheEnd

frigid ember
#

i think i got my answer

#

shockbyte is just the cheapest option

sullen helm
#

anyone experienced with bungeecord channels? in particular with PluginMessageListener

ripe ledge
#

yeah

frigid ember
#

going to stick with them for another month

keen compass
#

only need about 8-10GB of ram for a forge server

#

would recommend a dedicated server though if you want a forge server

#

they are relatively cheap

obtuse rose
#

*cough* ||Contabo ||

#

so cheap that I'm afraid to try

keen compass
#

lol

#

I use OVH

#

don't have personal experience with contabo

obtuse rose
#

my personal experience with OVH is random network dropping for some user (Some can join, some can't )

#

no personal experience for Contabo

keen compass
#

sounds like you didn't use their montreal DC

#

there was a while back a couple of years where they were upgrading their hardware for network stuff

#

lasted about 2-3 months but nothing too serious as far as outages went

frigid ember
#

contabo is good if you're okay with some CPU steal and don't worry about ddos

keen compass
#

cpu steal?

frigid ember
#

yup

keen compass
#

Was hoping you would elaborate in what you mean by that

frigid ember
#

type top in linux

#

see "St" stat

#

its cpu steal

#

percentage

#

if it's higher than 0, your provider is taking some of your CPU for other clients

keen compass
#

you mean their RTM software is buggy?

frigid ember
#

thus you get worse performance

#

due to cpu steal

#

no idea what is RTM

keen compass
#

Remote toolkit management

frigid ember
#

nop

#

just they have higher CPU steal than others

keen compass
#

Highly doubt they are stealing cpu cycles without using some VPS because unless you have a beowulf cluster it isn't going to be very effective

frigid ember
#

due to which their performance worse

#

it is VPS

#

what else

keen compass
#

then its not stealing CPU

#

every VPS has to share CPU cycles

#

unless you have physical processors for each VPS

frigid ember
#

well I got ovh vps now and CPU steal is 0

#

was higher on contabo

keen compass
#

its not cpu stealing....

#

you just mis-understand how virtualization works

frigid ember
#

I think youre misunderstanding

#

what is st if not CPU steal then?

keen compass
#

probably a monitor for stats collection for the webpanel

frigid ember
#

even md_5 talks bout CPU steal

keen compass
#

such as network, cpu cycles etc

frigid ember
#

webpanel? xd

#

you have no idea what Linux is then

keen compass
#

yes, how else do you intend to control your VPS

#

even dedicated boxes have web panels

#

otherwise how can I hard reboot a dedicated server?

frigid ember
#

XD

#

you don't understand

keen compass
#

But webpanels use IPMI

wanton sigil
#

When developing a command in a Spigot plugin, how do you make it comply with a permission system?

frigid ember
#

it's "top" Linux command output

#

and you talk bout websites

keen compass
#

top is just a process manager

#

in an OS

frigid ember
#

I'm pretty sure it is CPU steal, even influxdb has a statistic for measuring CPU steal

keen compass
#

Unless you are guaranteed a physical processor to yourself, there is no way to prevent sharing cpu cycles between VM's

#

physical processor isn't the same as cores either

frigid ember
#

you should google about it or something, you're talking without knowledge

keen compass
#

I am talking from personal experience because I setup servers all the time

frigid ember
#

well I do the same for the past 8 years

#

Can someone delete my Plugin?

keen compass
#

Then you should know that sharing cpu cycles is something you can't prevent unless you have a dedicated processor

#

@frigid ember just create a report stating you want it deleted

frigid ember
#

ok

#

I don't know how it's done, but they do it, I contacted contabo support to reduce CPU steal and they did it, performance got better

keen compass
#

they probably just gave your VM a higher priority

#

which just means you get more time with the cpu cycles

frigid ember
#

the CPU steal stat decreased

#

after it

keen compass
#

Well the only other thing I can think of is they were just limiting the amount of processing power alloted

#

You can term it cpu stealing, but I can tell you that isn't an accurate way to state what was being done

frigid ember
#

that's how everyone seems to be calling it, Linux itself having a stat called st, which stands for steal contributes to it

keen compass
#

st is a simple terminal implementation for X

#

since I don't use such a terminal odds are it was just buggy or just had too much resources dedicated to it

frigid ember
#

I use winsshterm

#

that's just two diff things named the same

keen compass
#

what you run for ssh has nothing to do with the terminals available on the server

#

I should say what you choose to run for a client

#

There is multiple terminals usually in linux depending on the distro you decide to use

dusty topaz
#

Can someone code review this small tasks thing I made? I know it can be improved greatly I'm just not sure how

keen compass
#

should probably include a link 😛

dusty topaz
#

depends if anyone wants to look 🤷‍♂️

#

it's a big mess :p

keen compass
#

what is the stopwatch for?

#

to measure time it took to run?

dusty topaz
#

nah that's just the name of the project

#

it just so happened it fits with the task thing though lol

wanton sigil
#

is this the best way for implementing a permission system in a command? ```java
if (!sender.hasPermission("plugin.commandname")) {
sender.sendMessage("You don't have permission to run this command.");
return false;
}

dusty topaz
#

but I intend to make something using the riot api, so I picked a random league of legends item lol

keen compass
#

should return true if you want to send your own message @wanton sigil

#

otherwise it will send 2 messages

dusty topaz
#
      try {
        return scheduledFuture.get();
      } catch (InterruptedException | ExecutionException err) {
        err.printStackTrace();
        return false;
      }
wanton sigil
#

Oh gotcha

dusty topaz
#

I wanted something here to have it timeout

balmy sorrel
#

Hi guys, I'm developing a plugin but I have errors :/, like the commands I have before worked and now they don't, it doesn't tell me any error in eclipse or anything

dusty topaz
#

But having it timing out threw loaaadds of timeout exceptions

keen compass
#

lol

#

then you need to catch the timeout exceptions 😛

dusty topaz
#

yeah, i was catching and printing

#

I set the timeout as a flat constant + the delay passed in

#

but it would still timeout every time

keen compass
#

well not sure why you would want it to timeout

dusty topaz
#

incase it gets stuck pinging the API or something

keen compass
#

unless you are tying to remove stuck tasks

#

in which case you need to just kill it then XD

#

harder to do if you just have the main thread though

#

easier to implement with multiple threads

#

but you have two ways to do it. Either a soft terminate or hard terminate. Soft terminate you just implement a variable that the task checks to see if it should continue to run

#

a hard terminate is where you use other methods to kill it

dusty topaz
#

i'm currently doing a soft terminate right?

keen compass
#

I think so, hard terminating is not always easy to implement and doesn't always work depending how the task is stuck

dusty topaz
#

yeah

#

i just don't want the program to freeze up

#

since it's a fixed threadpool size

balmy sorrel
#

Hi guys, I'm developing a plugin but I have errors: /, like the commands I have before worked and now they don't, it doesn't tell me any error in eclipse or anything. I hope they help me because I'm pretty frustrated

dusty topaz
#

if they all get stuck then the program breaks (i think, at least that's how it works)

keen compass
#

@balmy sorrel not really giving much to help you with

#

in that case you could just resort to reloading your plugin @dusty topaz which is equivalent to just nulling everything

balmy sorrel
dusty topaz
#

it tells you how to fix it

#

🤔

keen compass
#

ewww node.js

#

highly don't recommend using such things in plugins, but whatever up to you. But it is telling you that it can't find node.js

balmy sorrel
#

What do I do, sorry, I'm new to this plugin

dusty topaz
#

you install nodejs

#

and add it to your path

#

or consider using IntelliJ and not messing with node

balmy sorrel
#

Where do I install it and how do I put it?

dusty topaz
#

i think google can help you with that

keen compass
#

I don't recall eclipse needing node.js though o.O

dusty topaz
#

neither

#

maybe it's a mac thing?

balmy sorrel
#

Yes xD

rancid crow
#

what events do i need to check to detect if the item in the main hand of a player is switched or removed?

keen compass
#

if you are not able to fix it, you could try using a different IDE @balmy sorrel there is IntelliJ and Netbeans. Both are decent alternatives to eclipse.

severe hemlock
#

hey does anybody know of any texture packs which retexture horses as dragons? I found an interesting one but its for 1.10 and I need 1.15 compatibility.

#

or alternatively how to get 3d models in as textures for items?

keen compass
#

@frigid ember I researched what you were talking about. The ST value in top, you were mis-understanding its meaning.

severe hemlock
#

items/entitie

#

*entities

keen compass
#

I was accurate in what I was telling you, essentially all ST means is that there is another process using the cpu cycles. It isn't really stealing, but just means something else is occupying more of the cpu cycles

#

so it could just been a VPS using more cpu cycles then it should have

frigid ember
#

someone else occupying your cycles

#

without your explicit permission

#

that's called borrowing I guess

keen compass
#

its not your cycles

frigid ember
#

well I'm renting em

keen compass
#

all the VPS's have to share cycles, not sure what you don't understand with that o.O

unkempt heron
#

Have a question, may I ask on the Discord if someone wants me to present their plugin? I'm doing YouTube

keen compass
#

even multiple cores share cycles with each other as well

#

that is why I keep stating unless you have an explicit dedicated processor

#

you have no choice but to share the cycles

frigid ember
#

I know that

#

but some providers share less

#

some more

#

and contabo has low prices due to how much they share

keen compass
#

well sure, there is a variety of implementations out there to control how much cpu time each process gets

#

but they are all not perfect. Some better then others. Some free others cost money lol

#

mainly has to do with the Hypervisor being used to provide the VM's

frigid ember
#

on ovh it's 0 - 0.1 CPU steal usually, whereas on contabo it's usually 1 - 10

keen compass
#

Well ovh uses an OS hypervisor like ESXi

#

I would imagine contabo took a different approach is probably using something like VMWare or KVM instead

frigid ember
#

yup they use KVM

keen compass
#

which are both not OS Hypervisors, but software hypervisors

sleek ivy
#

anyone have a good way to detect minechat and similar clients?

frigid ember
#

why you need to detect them?

#

but pretty much tp them in sky if they don't fall for few mins, detected

keen compass
#

a good way for detecting minechat is checking if the player is moving 😛

#

make them move before they can chat when they join the server

unkempt heron
#

Have a question, may I ask on the Discord if someone wants me to present their plugin? I'm doing YouTube
@unkempt heron ??

sturdy oar
#

no

sleek ivy
#

we do ranks based on playtime and while we have an afk kick already, I hope to specifically detect chat users

keen compass
#

I have a couple I maintain if you want present them, but it might take you some time since they are API's 😛

frigid ember
#

I think you should turn off playtime counter for chat users

#

instead of kick

keen compass
#

@sleek ivy do you only have 1 server or multiple?

sleek ivy
#

the afk kick is for any user, but before I decide how to handle them I need to be sure I can detect them

frigid ember
#

I use chat clients a lot to be in multiple servers at once and have automated stuff like private msg notifications, so I find it really useful and not using it for unnice stuff

sleek ivy
#

1 server right now, but that may change

keen compass
#

well if you end up with a hub server, disable play time on the hub, and make it required to move before able to join a server

#

and then just implement a network wide chat 😉

#

solves everyone's problem in that manner

#

their playtime doesn't increase, they get to still chat like they want to

sleek ivy
#

ya that could work

#

speaking of, any good multi-server chat plugins?

keen compass
#

I am sure there is plenty

frigid ember
#

sadly I allowed afk time counting for too long in my server, would be unfair to disable it now after people have 100s of hours xd

sleek ivy
#

I'm not pleased with the one we have so I'm open to recommendations

keen compass
#

But, I am always a fan of allowing players to do something instead of punishing them because it doesn't align with what you are wanting lol

frigid ember
#

i just use redis to send msgs to bungee then bungee send it at proxy level to all players

sleek ivy
#

I'm not saying I'd punish them, just need to detect it so I can adapt correctly

keen compass
#

Well, you know what I meant lol

#

it isn't punishing, but your players think it is if you remove the ability to chat XD

sleek ivy
#

just making sure I'm clear, not you

#

ya

#

chat but no playtime, easy to do because the playtime system is custom

keen compass
#

really the only effective way to detect such things is if they are moving or not

frigid ember
#

some clients can move btw

keen compass
#

another way you could probably do it, but probably would cause their client to crash is to open an inventory XD

frigid ember
#

but that's like command

#

/walk 1

#

to walk 1 block xD

keen compass
#

if you open an inventory for the player, you could detect if they closed it or not within a certain amount of time

#

if it isn't closed odds are its a chat client

#

can't walk either if inventory is open

frigid ember
#

that's a good idea, chat clients ignore inventories and keep chatting while inventory open

gleaming helm
#

The client can send movement and chat packets while inventories are open

frigid ember
#

and for that you could kick em

#

for illegal behavior

keen compass
#

movement packets are generally ignored if an inventory is opened. the exception is teleporting

gleaming helm
#

If you have an anticheat you can block them from moving with the inventory open

#

Nope

#

Incorrect

frigid ember
#

they aren't ignored

#

I know that very well

gleaming helm
#

^

sturdy oar
#

yeah i remember walking with inv open

#

it's a funny cheat

keen compass
#

Well, then the server should not allow movement. Guess could make a pr for it lol

gleaming helm
#

😐

frigid ember
#

ping

keen compass
#

it didn't always used to be that way

gleaming helm
#

A number of anticheats patch it already

#

Yeah it always was that way

#

That's why anticheats have been patching it since like version 1.3

sturdy oar
#

Kevin_ do you want to hear another fun cheat that many don't know?

gleaming helm
#

I promise I know it

sturdy oar
#

you can store items in the 2x2 item slot

#

crafting slot

gleaming helm
#

Yeah I know I'm an anticheat dev

#

If you do that and move my anticheat will ban you instantly

frigid ember
#

what bout ping @gleaming helm

sturdy oar
#

the sad thing is that those things should be implemented by the server, not by developers

keen compass
#

does your anticheat handle mules?

#

just curious is all

gleaming helm
#

@frigid ember Regardless of ping, packet order is the same. If you open inventory, then move without closing it, then obviously cheating.

frigid ember
#

ooh

sturdy oar
#

what's wrong with mules lol

frigid ember
#

good thinking

gleaming helm
#

It's not public. It does have some checks that can handle stuff like what you're talking about but it doesn't do dupe detection

#

It was primarily designed for detecting ghost clients on PVP servers.

sleek ivy
#

is there no type of "user agent" info that clients send to the server on connect?

gleaming helm
#

Which it does insanely well

sturdy oar
#

user agent?

gleaming helm
#

As in, detects more autoclickers than AGC

sturdy oar
#

you mean forge, vanilla etc.?

frigid ember
#

mc wasn't designed for it

keen compass
#

@sturdy oar Mules are attached to specific players. So what you do is fill the mule with items you want to dupe. Have another person open its inventory, original player owning it logs off. Now you can take the items out and close the inventory. Original player logs back in and didn't lose the items.

frigid ember
#

but forge sends a packet under some conditions

gleaming helm
#

Yeah I know.

#

There are plugins that patch that

#

Mine does not

sleek ivy
#

detecting movement and inventory stuff seems hacky, I can, but I wish clients would just identify themselves

sturdy oar
#

doesn't Paper patch that?

keen compass
#

Not that I am aware of

gleaming helm
#

Paper patches some of it I think, but I'm not really sure

sturdy oar
#

ban mules i guess

gleaming helm
#

Yeah that's what I did

keen compass
#

but it isn't only mules you can do it with

frigid ember
#

that sounds like worst design ever

gleaming helm
#

Actually on my server I have some checking going on for anti-dupe

frigid ember
#

the .mule system

keen compass
#

it is actually easy to handle that scenario though

#

just not sure why the server doesn't lol

gleaming helm
#

So like if you dupe an item it'll actually detect that duplicate items exist. It has a unique key that only exists once. If the key appears twice it deletes the items

keen compass
#

guess I will add that to my list of PR's for 1.16

gleaming helm
#

It's of course not that simple and the keys are actually stored in a distributed system and it's made to be incredibly efficient, but that's the concept.

tiny dagger
#

do you have any public plugins? 😮 @gleaming helm

gleaming helm
#

No

#

Well... I have like 2 from many years ago

keen compass
#

the way to handle the mule scenario is to not allow the mule to despawn if the inventory is opened or close all inventories in regards to the mule if it does despawn.

gleaming helm
#

I only do custom dev work for high profile servers

tiny dagger
#

nothing recent? 😦

gleaming helm
#

Anything else I find isn't worth my time

tiny dagger
#

wait how do you find these servers

gleaming helm
#

I just ban mules and other storage bearing entities. Too much risk and my players aren't going to need them.

#

I have a lot of connections in that space

keen compass
#

so I have 3 things to do for 1.16 it seems. 2 minor pr's and 1 large pr. The large PR is going to be allowing bungee and mc server to communicate via unix sockets 😄

gleaming helm
#

I get recommended a lot to server owners from other people I've worked with and such

tiny dagger
#

imma need to start as well

gleaming helm
#

Unix sockets would be cool but like unfortunately...... I mean.... multi machine distributed system......

#

TCP is more efficient in that sense......

#

But yeah I'd use it if I didn't have multiple machines

keen compass
#

Well that is really the only ideal time to use unix sockets lol

frigid ember
#

I used to use file watchers for communication in same machine

keen compass
#

but I mean, you can do other things with it as well though if unix sockets are allowed

gleaming helm
#

I'm using unix sockets already for some aspects of communication

keen compass
#

for instance, you can transport the communication using NFS which would allow all servers to not be bound to the tcp stack directly IE, don't actually have to have the server listening on an ip.

gleaming helm
#

My pubsub system runs an instance on every machine in the network, so I'm using unix sockets to talk to that

#

@keen compass I've already got my entire network in a VPN setup so

keen compass
#

ah so you already have something similar then

gleaming helm
#

Plus the way I'm doing load balancing

#

It just wouldn't make sense to use unix sockets

keen compass
#

well, my pr isn't exactly to replace what people already have. But rather give more options that are easier to implement 😛

gleaming helm
#

mmm I disagree with the statement that unix sockets are easier

keen compass
#

Also, most people tend to mess up iptable stuff when they are running multiple servers on the same system with bungee

#

using unix sockets solves that

gleaming helm
#

For a beginner? no way

#

It's just a really foreign concept for a beginner to understand

#

But you're right about the iptables thing

#

Actually as a bit of a research project I wrote a scanner that scans all 16k servers in one of the server lists

#

Ran it overnight

#

Woke up to find a ton of servers with MASSIVE holes, some pretty high profile

#

(they were all individually emailed, dw)

sturdy oar
#

do you mean nmap?

gleaming helm
#

no

#

nmap on steroids

keen compass
#

probably 75% have nothing blocked, 20% have some blocked but still big holes, and the rest are good.

gleaming helm
#

like custom built scanner thing

frigid ember
#

security is really weak in servers usually due to the nontech people running them

sturdy oar
#

well nmap is really amazing tho, it can basically do everything

gleaming helm
#

Yeah it's quite disappointing

#

@sturdy oar No, it can't check for weak database passwords

keen compass
#

I would even bet that the same amount that block nothing also respond to everything as well as don't use SSH keys at all

gleaming helm
#

I didn't probe for ssh auth

frigid ember
#

it requires kinda much work to setup good security, I still throw 5 hours at it from time to time when I think of possible vulnerability

gleaming helm
#

So idk the number on that but

#

I can tell you that a lot of them don't firewall anything

keen compass
#

yeah, it isn't just minecraft server's that suffer from that

sturdy oar
#

imagine if everyone removed root access and installed fail2ban

keen compass
#

in general there is many servers that block nothing

gleaming helm
#

fail2ban does fuck all if you have ssh keys

frigid ember
#

root access isn't exactly bad if the password is insanely complex

gleaming helm
#

No

#

nononnononono

#

NO

#

DO NOT

#

DO FUCKING NOT

sturdy oar
#

just use SSH key access

gleaming helm
#

Use password auth

#

Disable that shit immediately after you install your key

keen compass
#

shouldn't allow root login

frigid ember
#

why password with is bad

sturdy oar
#

b r u t e f o r c e

gleaming helm
#

You shouldn't allow root login either

frigid ember
#

I use it for everything

keen compass
#

just because you can't log in as root, doesn't mean you can't use root btw

frigid ember
#

it can't be bruteforced if long

gleaming helm
#

Because a password has WAY less entropy than a 4096 bit SSH key

keen compass
#

you can always do su root if you really must use the root account

gleaming helm
#

You can't even THINK about brute forcing an SSH key

#

If an attacker sees ssh key, they give up immediately

frigid ember
#

you can't really bruteforce 16+ char passwords with current technology

sturdy oar
#

lol you can

#

500GB dictionaries are out there

gleaming helm
#

You can

keen compass
#

you can if the characters repeat

gleaming helm
#

I can guarantee you

#

Your password can be broken

#

The human mind is terrible at generating entropy

frigid ember
#

good luck on it then, I'm pretty confident

gleaming helm
#

And it's even worse at remembering entropy

frigid ember
#

I'm talking bout random ones

gleaming helm
#

If you can remember your password, a computer can break it

#

That's a good rule of thumb

#

And if you can't remember it, a computer still might be able to break it.

keen compass
#

with 2Ghz of processing power you can generate and test 2-3 million passwords every 5-10 minutes

gleaming helm
#

You're forgetting about gpu acceleration ^

#

Now that's really only useful if you recover a hash but

keen compass
#

well I am just giving like kind of the low end side

gleaming helm
#

Look. Just bottom line is

frigid ember
#

I use 36 char passwords for my vps users

gleaming helm
#

Don't use password auth

keen compass
#

that even with not much processing power you can still generate and test a lot of passwords in a short amount of time

gleaming helm
#

If you can control it, disable password authentication and use keys only.

#

I have a new node setup guide that I wrote for my current network. Step fucking 3 is to disable password auth

rancid crow
#

How can I detect if a player dropped an item from the main hand? I tried using PlayerDropItemEvent, but the inventory that the player has is updated already so I can't loop through it.

keen compass
#

if you have any repeating characters in that 36 character password, it doesn't increase its overall strength

frigid ember
#

why not

gleaming helm
#

Because you add no new entropy

#

Well

#

The correction to that statement is

frigid ember
#

more tries

gleaming helm
#

If the repeating character is an entropy-adding randomly selected character then it's fine

#

If the repeat has any kind of non-random logic to it whatsoever it adds almost no entropy

frigid ember
#

all my passwords are random

keen compass
#

it is hard to explain why it doesn't add more strenght. Sure it increases the length of the password, but it doesn't increase its complexity

gleaming helm
#

Then you're probably fine, but here's the thing. SSH keys are also randomly generated and contain WAY more entropy than any password. You likely aren't memorizing your passwords anyways, you don't have to memorize an SSH key either. You just put it on your hard drive in a specific folder, and log in. And your SSH client literally authenticates you without typing in a single thing.

#

Also @keen compass if a randomly generated password has a repeat, the repeat is entropy-bearing

keen compass
#

Yep

#

There is just so much to cryptography

#

XD

gleaming helm
#

This isn't crypto, this is probability and statistics but ok

frigid ember
#

I'm just not into using keys due to not having the experience with them and prefer having long random password entries instead

gleaming helm
#

Dude

#

Please just try keys

keen compass
#

passwords are part of crypto. Even if the password itself doesn't encrypt anything

gleaming helm
#

You'll thank me later

frigid ember
#

I mean if someone cracks a long random password, they're far more dangerous to the world than you

gleaming helm
#

@keen compass Crypto generally refers to how data is encrypted, decrypted, signed, verified, and all of the algorithms and theory associated.

keen compass
#

Most of crypto involves that yes

#

but you still learn about the inherent weaknesses involving passwords though

#

as well as strengths if you must use them

gleaming helm
#

@frigid ember The thing about passwords is you have to type or paste them every time you want to log in. Your experience will be way better with keys. You just issue the ssh command, select a user, address, port, and you don't even have to type or paste a password, you just log in.

frigid ember
#

hey guys. needed a little help. I'm trying to switch from Essentials balance to Economy++ 1.8.0 for it's job and salary features but it doesn't replace essentials. It just shows a different balance with it. How do I switch over?

sturdy oar
#

1.8.0 oof

#

oh wait

#

that's the plugin's version I hope

frigid ember
#

thats the newest 😛

#

yeah

gleaming helm
#

@keen compass Most of crypto you learn in college is about the algorithms and the mathematics, not about the human side.

#

Although

#

Nobody's arguing that

#

The human side isn't important

frigid ember
#

I don't paste my passwords, they're auto typed

gleaming helm
#

So ok I don't see the hangup to use keys then

#

You'll have the exact same experience with security that is n times better, where n is a number larger than the amount of stars in the observable universe.

#

literally.

frigid ember
#

well that only matters if you're trying to protect yourself from alien technology

gleaming helm
#

😐

#

Stubborn

frigid ember
#

I am

gleaming helm
#

The entire security world shuns password ssh auth. And it's for a reason.

#

The reasons which I have provided.

#

If you don't want to listen, don't complain if something happens.

frigid ember
#

I've done a lot of research about this which tells me that 16 char passwords are currently safe, only in future you'll need 32 char instead

keen compass
#

@frigid ember once you experience how quick passwords can be generated and tested you will probably want to avoid using them lol

gleaming helm
#

I've done a lot of research that says 2048 bit ssh keys are going to likely be secure for the next 100 years or until shor's algorithm is functional enough to crack a key of that size. And 4096 bit keys are still an option for the extra paranoid who are okay with waiting an extra quarter of a second for identity verification.

#

Nothing beats raw crypto

keen compass
#

for instance, a very very fast way to test passwords against ssh, is to use multiple processes and connections. For every connection it exponentially increases the speed in testing the passwords.

gleaming helm
#

No, it linearly or logarithmically increases the speed

#

The server can only handle so many requests per second

#

@keen compass

frigid ember
#

yup but how will you test a 16 char, even if it's done offline, billions per second won't be enough

gleaming helm
#

I agree with the point you're trying to make but that's false information

keen compass
#

@frigid ember 16 character password only has at most a few billion combinations

gleaming helm
#

Wrong again

frigid ember
#

wrong

gleaming helm
#

assuming a key set of 64 chars (which is less than actual), we get 64^16 possible combos

keen compass
#

well it depends on the amount of characters you have to choose from

gleaming helm
#

Which, by the way, is WAY FUCKING LESS than 2^2048 combinations

#

@keen compass Your estimate is only true if you're choosing from 16 characters

frigid ember
#

google says 10,000,000,000,000,000.

gleaming helm
#

@frigid ember That's a very low number cryptographically speaking

frigid ember
#

yup

gleaming helm
#

Go look up what 2^2048 is

frigid ember
#

but it's uncrackable currently

gleaming helm
#

The answer is

#

Fucking big

keen compass
#

79 octillion with Kevin's math

gleaming helm
#

It's not my math, it's the math of crytographic geniuses

keen compass
#

Didn't bother to verify the amount of characters so I assume it is accurate

#

Well I meant the numbers you provided

frigid ember
#

i see no point in going for 2^8192 combos, it's just paranoid

gleaming helm
#

Also no hardware supports a key size that large yet

#

Max you can get consumer grade is 2^4096

keen compass
#

2^2048 has no name for the amount of numbers it has XD

gleaming helm
#

4096 bit cryptography for RSA

frigid ember
#

I think 256 is the limit one should go for

keen compass
#

2^2048 has 617 decimal digits

gleaming helm
#

So we're acctually talking about a different type of crypto here

#

This isn't so straight forward

#

With that 2^2048 number, the only valid ones are the ones who are the product of 2 prime numbers

tiny dagger
#

how long did it took you to learn all these stuff

keen compass
#

Well, I was just calculating how large of a number it is. Which is 617 digits long XD

gleaming helm
#

When we talk about 256 bit crypto we're talking about symmetric key. In AES's case, that is, any possible number works

frigid ember
#

yup I'm talking bout AES specifically

strange grove
#

hey i'm having an error with my code

keen compass
#

I personally use elliptic curve keys

#

but RSA is still good too

#

384 bit elliptic curve keys are equivalent to 4096 bit RSA keys

strange grove
#

org.bukkit.command.CommandException: Unhandled exception executing 'imgname' in org.inventivetalent.pluginannotations.command.AnnotatedCommand$BukkitCommand(ImgName)

#

here it is

#

i'm trying to get an entities custom name

#

this is the code im using

#

public class ImgNameCommand implements CommandExecutor {
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (sender instanceof Player) {

            for(Player player : Bukkit.getServer().getOnlinePlayers()) {
                for(Entity entity : player.getNearbyEntities(5, 5, 5)) {
                    World world = Bukkit.getServer().getWorld("world");
                    Location l = player.getLocation();
                    if(entity instanceof ItemFrame) {
                        ItemFrame itemFrame = (ItemFrame) entity;
                        if (itemFrame.getCustomName().equals(imgname)){
                            player.chat(ChatColor.BLUE + "This is " + imgname + ".");
                        }
                    }
                }
            }
        return true;
    }
}
gleaming helm
#

ECC is faster than RSA but less supported by legacy hardware

tiny dagger
#

line?

keen compass
#

Yep

gleaming helm
#

@keen compass

strange grove
#

me?

tiny dagger
#

yes you

strange grove
#

ok

gleaming helm
#

use getDisplayName

#

I think that's what you're looking for

keen compass
#

I don't have a problem in not supporting legacy hardware though @gleaming helm lol

gleaming helm
#

Or do you want the item inside the iten frame

strange grove
#

no

#

i wnat to get the custom name

#

the name of the img

keen compass
#

so ECC keys work just fine for me 😉

strange grove
#

thats why i said getCustomName

gleaming helm
#

I do hardware design for a living so

#

I have a different viewpoint lol

strange grove
#

and the error is up there with my code

#

^

#

the only problem is