#help-archived

1 messages ยท Page 49 of 1

keen compass
#

so in a loop check if the player is online

fading frost
#

if it's an sql database

granite cedar
#

because it seems simple

#

1 uuid, name and a datajsonstring

fading frost
#

It's literally the opposite of simple

granite cedar
#

parse and unparse on player join

#

easy

fading frost
#

It prevents you from writing proper sql queries

prisma basin
#
        ProtocolManager protocolManager = ProtocolLibrary.getProtocolManager();
         protocolManager.addPacketListener(new PacketAdapter(this, ListenerPriority.HIGHEST, new PacketType[]{PacketType.Play.Client.TAB_COMPLETE}) {

            @Override
            public void onPacketSending(PacketEvent event) {

                if (event.getPacketType() == PacketType.Play.Client.TAB_COMPLETE) {

                    PacketContainer packetContainer = event.getPacket();
                    String msg = ((String)packetContainer.getSpecificModifier(String.class).read(0)).toLowerCase();

                        PacketContainer pack = new PacketContainer(PacketType.Play.Server.TAB_COMPLETE);
                        
                        String[] messages = {"1","2"}; 
                        for(int i=0;i>=pack.getStringArrays().size()-1;i++)
                        {
                            pack.getStringArrays().write(i, messages);
                        }

                        try {
                            protocolManager.sendServerPacket(event.getPlayer(), pack);
                        } catch (InvocationTargetException e) {
                            e.printStackTrace();
                        }

                }

            }

        });

    }```
#

this is good?

#

@keen compass

granite cedar
#

well i was also concernec about sql queries

#

and them lagging the servers or being overloaded

#

so i did it the json way

#

cause theres a lot of data i edit with the games i made

keen compass
#

if your queries are ran in another thread they won't lag the servers

granite cedar
#

i would be running like 100 queries for 9 players in a game every 1 minute

#

instead of doing that i just edit their json data locally

#

and update when they quit the network

fading frost
#

...that is completely unrelated to json

#

a cache works with everything

granite cedar
#

cache?

tiny dagger
#

storing in memory

fading frost
#

you can do the same with a proper sql table

granite cedar
#

i know

#

but caching what?

#

i already chache the player objects

fading frost
#

.....

keen compass
#

if it were me I would optimize the DB and the code better

#

in fact you can make functions with MySQL

#

this way you don't need to use a query but just run the function and get the result

#

which is much faster and recommended for you since you will be running the same query many times

fading frost
#

It probably will be fine even with just prepared statements

granite cedar
#

but i saw how hypixel made an article how they had issues with mysql lag

#

so if i can limit querying by editing json locally why not

iron nebula
#

Hypixel uses MongoDB

keen compass
#

Hypixel has thousands of players, not a real comparison for something like what you are doing

granite cedar
#

im a multi millionaire

#

i have 3000 servers

#

and in cotact with youtubers

#

im gonna have the next big thing

radiant pollen
#

UHHH OHHHH

#

y'all fked up

fading frost
#

lmao

keen compass
#

if that is the case, then why don't you just pay people to do this for you ๐Ÿ˜›

radiant pollen
#

you didn't know he was a multimillionaire ???

granite cedar
#

i already have 20 games made

fading frost
#

hire a developer then

radiant pollen
#

yall are dead now

upper hearth
#

He's gonna get his dad to ban you on xbox guys

radiant pollen
#

oh shit

granite cedar
#

this is my hobby i love creating games

fading frost
#

ah

#

and this is why you write production code

keen compass
#

I would probably hire a DBA then

granite cedar
#

but yeah if i can limit queres then i think its better to do so

fading frost
#

for your big networks

iron nebula
#

MySQL can take hundreds of queries per second

#

As long as you don't do anything stupid

keen compass
#

make a function, will eliminate most of your queries you are going to be running

granite cedar
#

i have my network registered as a single member llc

fading frost
#

function is unnecessary

#

just use prepared statements

#

good enough

iron nebula
#

^

granite cedar
#

well hypixel had issue with their sql so since ill be bigger than them i figured to take rpecatuinns

keen compass
#

while it is unnecessary queries and functions are processed differently in MySQL

#

functions are more optimal then queries

granite cedar
#

but why do any of that

fading frost
#

that depends

iron nebula
#

You don't need functions for basic things ffs

fading frost
#

and you'd still need parameterisation

iron nebula
#

Get out

granite cedar
#

when i can just access the database per player 2 times max. when they join and when they quit?

fading frost
#

you can still do that

granite cedar
#

ratehr than hundreds of times

radiant pollen
#

?"?"?"

#

huhhh

fading frost
#

you can still use a cache with a proper db layout

#

that's the point

iron nebula
#

Use PreparedStatements and fetch their data when they log in, cache that and then when they log out you can save that shit

granite cedar
#

i already cache their data

#

in their player object

iron nebula
#

Then whats the issue

radiant pollen
#

then wtf

granite cedar
#

idk

fading frost
#

if you're talking performance, making a query for every single friend doesn't make your argument loook good

#

i already cache their data
bro

granite cedar
#

    private Player player;
    private UUID uuid;
    private String name;
    private List<String> previousNames;
    private String clanTag;
    private String clanTagColor;
    private UUID partyUUID;
    private List<UUID> friends;
    private List<UUID> recentPlayers;
    private UUID playerLastMessagesUUID;
    private String primaryEmail;
    private String secondaryEmail;
    private String password;
    private String firstJoinDate;
    private Membership membership;
    private String membershipStarColor;
    private Language language;
    private boolean hasSelectedLanguage;
    private String ip;
    private List<String> previousIps;
    //translate chat
    //settings
    //voting
    //donating
    //referral

    public aPlayer(Player player) {
        this.player = player;
        this.uuid = player.getUniqueId();
        this.name = player.getName();
        this.previousNames = new ArrayList<String>(); 
        this.clanTag = null;
        this.clanTagColor = "&7";
        this.partyUUID = null;
        this.friends = new ArrayList<UUID>();
        this.recentPlayers = new ArrayList<UUID>();
        this.playerLastMessagesUUID = null;
        this.primaryEmail = null;
        this.secondaryEmail = null;
        this.password = null;
        this.firstJoinDate = null;
        this.membership = null;
        this.membershipStarColor = "&7";
        this.language = Network.getRealm().getPrimaryLanguage();
        this.hasSelectedLanguage = false;
        this.ip = player.getAddress().getAddress().toString();
        this.previousIps = new ArrayList<String>(); 
    }
fading frost
#

how do you not get this

granite cedar
#

when they join their json is used to get those parametrs

#

vars*

iron nebula
#

Use Set for UUIDs

radiant pollen
#

So if you already get all the data and have it in memory wtf

#

what is the problem

prisma basin
#

@keen compass i find this on forum "that this will only work on MC versions up to the latest 1.12, as from 1.13 on, there's a new approach, quoting another thread"

granite cedar
#

thats what im saying lol

fading frost
#

Using a single text property in your table instead of multiple fields is not how you do sql

radiant pollen
#

why are you still worried about hundreds of database accesses?

fading frost
#

use nosql for shit like that

iron nebula
#

You can use SQL for json

#

Its fine

granite cedar
#

i use uuid, name and 1 jsonsting

keen compass
#

@prisma basin then use the new approach

granite cedar
#

thats it

fading frost
#

But what's the point of an sql table if all of your data is stored in json

runic wadi
#

... use an ORM with a java bean and save yourself the trouble

iron nebula
#

SQL databases are more reliable than NoSQL first of all

granite cedar
#

they wanted me to use mysql hundreds of times instead of only 2

bronze marten
#

How are you gonna query on json values lmao

fading frost
#

But this is not how you use sql

granite cedar
#

i use sql so i can have global data across servers

fading frost
#

you can't leverage any advantage of sql if you don't actually use its mechanics to store your data

bronze marten
#

0NF database design xd

runic wadi
#

any persisted format allows you "global data across servers"

granite cedar
#

i just needed a solution to have the same data across my network

#

and sql was it

iron nebula
#

If you acutally need to query data on that json then i feel bad

radiant pollen
#

^

granite cedar
#

its not a json

#

its a json string

fading frost
#

bruh

granite cedar
#

its just player data

#

lik ekills, deaths etc

fading frost
#

please tell me the difference

runic wadi
#

you can persist across multiple servers using SQL, NoSQL, MongoDB, NBT, JSON, TOML, HOCON, YAML, whatever the fuck you want

granite cedar
#

saved wh a yer quits and downloaded on join

radiant pollen
#

Yeah, but why not just use fields? It's the same amount of data but you'd have separations

fading frost
#

^^

radiant pollen
#

So you only query specific things when you need them

granite cedar
#

because im not displaying anythn ebste

fading frost
#

this is literally why you use sql

granite cedar
#

websites

#

so whats the point

fading frost
#

wat

granite cedar
#

all leaderboards are inn game

runic wadi
#

websites

prisma basin
#

@keen compass please give me example ๐Ÿ˜ญ this is too hard

fading frost
#

I think you need to look into what databases are

granite cedar
#

im self taught have patience

bronze marten
#

I mean, dynmap uses database to store BLOB images

iron nebula
#

I don't like the sound of having leaderboards and storing only json strings on DB

bronze marten
#

So idk

#

Lmao

keen compass
#

@prisma basin as I already stated I don't have an example on hand.

granite cedar
#

i just learn what i need to learn and use what i need to use to get my network ideas a reality thats all

#

no i have a seperate sql table for leaderboards

radiant pollen
#

The benefit of splitting it up into fields lets you query specific things. If you need to refresh a specific leaderboard you can.

granite cedar
#

uuid,name,deaths,kills,kdr etc

iron nebula
#

Then it sounds like fine solution

fading frost
#

just hire a few devs and pay them a decent wage, should be possible as a multi millionaire

iron nebula
#

To some degree

radiant pollen
#

Because if you have a kills leaderboard and you parse ALL of the player data on join, the leaderboard won't update until the player relogs.

keen compass
#

@bronze marten that is normal for images, to store them as BLOBS because BLOBS is just bytes stored as is.

prisma basin
#

@keen compass can you write please ๐Ÿ˜ญ

bronze marten
#

Yes but why use a database to store images

radiant pollen
#

If you split into fields, you can refresh things that update frequently sooner without needing to query EVERYTHING

granite cedar
#

the kills/deaths oin json are only for th eplayers pratcice stats which arent compared on leaderboards

iron nebula
#

Why use file system to store images? It's a database in some sense too

keen compass
#

because then you don't need physical files @bronze marten

runic wadi
#

store data as html content and use javascript to get the element via id with nashorn and then use it in java

#

this is the way

bronze marten
#

They will still be stored as physical files

granite cedar
#

why would i hire devs if i hasve fun doing this myself

iron nebula
#

Its not about WHAT you store in the database. Its about HOW YOU USE that data

bronze marten
#

Well depends still

keen compass
#

renaming them is easier, removing them is easier and takes up less space on the HDD

fading frost
#

Then it sounds like fine solution
@iron nebula But it's not, they want to get all friends of a player and sort them and can't use sql for that because of that reason

iron nebula
#

Get their friends in what sense?

runic wadi
#

why use sql when you can use plain text

granite cedar
#

i use TEXT

#

with a json string

iron nebula
#

Oh jezz

prisma basin
#

@keen compass please write to me example tab sugestion packet whitelist ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿคง

keen compass
#

lol

iron nebula
#

Doesn't MySQL have own data types for JSON

granite cedar
#

yes but idk how to use it

runic wadi
#

separate your fields with a symbol like # then split the string at the #

iron nebula
#

Dunno, I work on postgres about this shit

fading frost
#

Get their friends in what sense?
@iron nebula see above... that's why the question arised in the first place. they first get a list of uuids from the database and then query each uuid individually and then sort the result in java

granite cedar
#
public static List<guiPlayer> getTempsInOnlineOrder(aPlayer ap, List<UUID> uuids){
        List<guiPlayer> online = new ArrayList<guiPlayer>();
        List<guiPlayer> offline = new ArrayList<guiPlayer>();
        for(UUID uuid : uuids) {
            guiPlayer guiPlayer = new guiPlayer(uuid);
            if(guiPlayer.isOnline()) {
                online.add(guiPlayer);
            }else {
                offline.add(guiPlayer);
            }
        }
        online.sort(Comparator.comparing(guiPlayer::getName));
        offline.sort(Comparator.comparing(guiPlayer::getName));
        online.addAll(offline);
        return online;
    }```
keen compass
runic wadi
#

or you can store your data as individual items in The Sims and use python java interop to read The Sims map and check specific coordinates for an item type

iron nebula
#

Oh okay so he fetches all the users separately okay

runic wadi
#

btw that code looks ugly

granite cedar
#

i just wanted to know of any way to optimize the above without doing all the sql stuff

iron nebula
#

Seperate your friends to another table

fading frost
#

I already told you

runic wadi
#

wait what the FUCK is the point of generating an offline list if you don't return it?

#

excuse me immediately

dusty topaz
#

he adds offline to online

runic wadi
#

oh okay

#

we love that

#

why separate them

granite cedar
#

online shows first in alphabet order then offline in alphabet order

dusty topaz
#

probably to sort them differently

granite cedar
#

because on my network friend lists are unlimited limit

runic wadi
#

how about using a map or an object that holds two lists

frigid ember
#

aye @granite cedar

granite cedar
#

so it will be hard to find friends

fading frost
runic wadi
#

EnumMap<OnlineStatus, List<Player>> idfk

iron nebula
#

Oh jezzz

dusty topaz
#

my brain hurts a bit

fading frost
#

don't

green lodge
#

quick question, I have a server with 3.75 gigs of ram. How much should I give my server while taking the virtual machine into account

keen compass
#

use mysql to sort the list and the stuff that in a list object. in a loop, check if they are online remove those that are not and stuff in another list. Voila two ordered lists without having to do the ordering with Java ๐Ÿ˜‰

granite cedar
#

ok so how would i do that @fading frost

iron nebula
#

But if you plan to have unlimited sized friends then you are having big problem

dusty topaz
#

you can sort with sql

iron nebula
#

Hypixels servers were crashing because they didn't limit their friend list sizes

#

They had to put the limit to 5k

granite cedar
#

i know

#

thats because they dont do sql like i do

iron nebula
#

LOL

dusty topaz
#

xDDD

green lodge
#

I can give it more very easily

keen compass
#

well you don't use SQL efficiently either

granite cedar
#

they access sql hundreds of time vs me with just 2 times per player

#

at least im not overloading sql

dusty topaz
#

it's very arrogant to claim you're doing stuff better than the largest server

keen compass
#

very hard to overload it if you optimize your DB structure

iron nebula
#

This is not about how you read the SQL

dusty topaz
#

which will have the best developers all on a nice pay

iron nebula
#

Its about how efferently you can process that friend list on the game server

keen compass
#

as far as connections goes, MySQL can literally handle thousands of connections per second

granite cedar
#

im an industrial engineer my job is to innovate

iron nebula
#

And having 5k friends to process thru takes CPU time

radiant pollen
#

@granite cedar That doesn't matter at all... Just because you only do it when the player connects doesn't mean it won't lag.

iron nebula
#

Keeping track of their state etc

radiant pollen
#

It just means it will lag VERY HARD but only when they join.

runic wadi
#

consider this: my toes

iron nebula
#

The SQL is the fastest part here

#

The bottleneck is your Java code

granite cedar
#

do you know how much a LONG_TEXT can hold?

#

it can certainly have over 5k uuids

runic wadi
#

do not use that

#

wtf

keen compass
#

lmao

iron nebula
#

lol....

runic wadi
#

use PostgreSQL or H2 with the UUID type you dumb bitch

radiant pollen
#

Yeah but like why...?

iron nebula
#

Comparing dick sizes doesn't help anyone here

dusty topaz
#

because his job is to innovate

granite cedar
#

i just access sql when player join and when they quit unlke hypixel

keen compass
#

its not about DB access

radiant pollen
#

If a server crashes, nothing will save correctly.

#

SQL isn't even the issue here.

granite cedar
#

thats why i will handle 100,000+ players while hypxiel is still updating to 1.9

radiant pollen
#

It's the sorting of 5000 uuids.

iron nebula
#

LOL

#

Jesus

dusty topaz
#

๐Ÿคฆ this is hurting

runic wadi
#

one hundred thousand

granite cedar
#

i have a caching thing for that zaxarner

radiant pollen
#

You're not better than Hypixel. They're the biggest server ever.

keen compass
#

SQL as stated and its been proven as its continued to be used industry wide handle literally thousands of connections per second if you tune it to do so.

runic wadi
#

but can it handle one hundred thousand players? that is the question.

granite cedar
#

if it crashed its saved to flat file if it cant save to sql and when it restartes it uploads to sql

iron nebula
#

You know the SQL can process hundreds of millions rows in a second as long as you have your indexes set up correctly, SQL is not your problem

runic wadi
#

it can handle millions, but can it handle one hundred thousand?

granite cedar
#

then what was hypixels problem with not being able to handle 5k+ friends?

runic wadi
#

think about that next time @iron nebula

dusty topaz
#

the java code

iron nebula
#

Lmao

dusty topaz
#

as stated likely

iron nebula
#

Don

#

Its about keeping their online status in memory

radiant pollen
#

okay I'm done :)

iron nebula
#

And tracking it

granite cedar
#

ohhhh i see

keen compass
#

if you query for a large enough data set, it will cause some slow downs if no optimizations are done on either end

granite cedar
#

well idk how they code but my way is flawless

radiant pollen
#

hahah no

iron nebula
#

lol

radiant pollen
#

okay im really done this time :)

runic wadi
#
- flawless
radiant pollen
#

i cant anymore

#

gonna go back to exams

granite cedar
#

im only loading 50 friends a page

#

if mysql can handle miliions per second whats the problem?

radiant pollen
#

WAUIT OKAY IM BACK

runic wadi
#

no go away

radiant pollen
#

so you're only pulling 50 from the database at a time?

#

but I thought you said you get everything when the player connects?

iron nebula
#

Don, how do u plan to to keep their online status? :)

granite cedar
#

player objects

runic wadi
#

how about check if the Player object is null

iron nebula
#

And where do you store those objects

keen compass
#

eventually that eats up resources

#

if you make enough of them

runic wadi
#

let bukkit store that

granite cedar
#

in java

runic wadi
#

Bukkit.getPlayer() or something

dusty topaz
#

in java

#

๐Ÿคฆ

runic wadi
#

in java

iron nebula
#

Lmao

runic wadi
#
- in java
keen compass
#

personally I would probably toss redis in between to handle the caching

iron nebula
#

Or microservice

#

Better

granite cedar
#

only have 10-20 players on a server at any given time

#

itll handle it

iron nebula
#

K

runic wadi
#

not one hundred thousand?

radiant pollen
#

but you're bigger than hypixel?

frigid ember
#

Don hi don!

#

hello don?

granite cedar
#

i have 3000 dedicated servers from an old colocation that shutdown

frigid ember
#

will u ever say hi to me

granite cedar
#

hi

frigid ember
#

yay

radiant pollen
#

wtf does that have to do with being bigger than hypixel

granite cedar
#

i have connections with youtubers too

runic wadi
#

3000 dedicated servers -exasperated sigh-

granite cedar
#

im about to open a warehouse with a fiber cable

runic wadi
#

my server is Jenna Marbles approved and James Charles certified

frigid ember
#

nice don

keen compass
#

so...you are not using those 3k servers then

#

but just have them

runic wadi
#

i have 3001

#

hby

frigid ember
#

he iz

granite cedar
#

thats what the warehouse is for

keen compass
#

that you don't have yet

granite cedar
#

and the tax write off is gonna be crazy lol

runic wadi
#

i have two fiber cables

iron nebula
#

So you have 3k decicated servers for peak of 20 ccu

frigid ember
#

๐Ÿ‘

granite cedar
#

im a multi millionaire so youre gonna see my network probably on tv

keen compass
#

doubt it

#

but ok

dusty topaz
#

hahaha

bronze marten
#

Bru

granite cedar
#

working on a partnership with mojang too

iron nebula
#

I think this kids is trolling at this point

#

lmao

dusty topaz
#

if you're a multi millionare why aren't you paying developers instead of hacking together something yourself

#

and why are you investing in minecraft

hasty forge
#

how to remove this selection on windows 10? when i move the slider everything is selection

granite cedar
#

lol well im back to coding PEACE

bronze marten
#

Oh are you from planetminecraft to inspect my mc server?

keen compass
#

If you have money like you said and all this equipment, then why are you even here?

runic wadi
#

@hasty forge why is your font so ugly

#

also wdym Windows 10... java is platform agnostic

granite cedar
#

@dusty topaz this is a hobby of mine. i have a industrial engineering degree this is just whats in my dna to do. come into stuff and innovate innovate innovate

dusty topaz
#

your degree is meaningless if you're a millionare

runic wadi
#

your dna is spastic. goodbye.

keen compass
#

yes I understand that, but you could literally pay someone to teach you this stuff though

granite cedar
#

i made millions with my degree

iron nebula
#

@hasty forge Buy a decent monitor that has decent aspect ratio...

green lodge
#

lets say I have 4.5 gigs of ram, is 500mb of ram left over enough for just the ubuntu machine

#

I'm using GCP

dusty topaz
#

should be if nothing else is on it

keen compass
#

it just sounds like you want to create it yourself because you don't want to spend the money to have someone else do it even though it would financially be better that way if you are going to launch a very large network.

dusty topaz
#

I don't think that is their situation frostalf

#

they're not planning to launch a very large network

green lodge
#

running no plugins or mods ๐Ÿ˜›

dusty topaz
#

they're planning to hack together a friends menu

#

and call it hypixel

hasty forge
#

give money and I will buy) a question. how to remove this selection when i move the slider all the text is selection

dusty topaz
#

You can buy my $5 for $10 ^

#

getStringList will return an empty list if the list doesn't exist

#

so the list doesn't exist

#

so you're likely loading the yaml file incorrectly

iron nebula
#

Guys I'm using a new technique to store millions of users in a database! I'm using txt file that preallocates 2Mb for each user to make sure the player file can be saved at all times and using file pointers to parse the json string as a POCO! Also for fast access I'm using excel for indexing

boreal tiger
#

can LivingEntity#getEquipment ever return null for an armor stand?

keen compass
#

sounds like an awesome system @iron nebula

naive goblet
#

@boreal tiger checked the docs?

iron nebula
#

Yes, its a flawless!

dusty topaz
#

@frigid ember that is how I have always done it

boreal tiger
#

the doc only says "Gets the inventory with the equipment worn by the living entity."

#

but an armor stand would always have the equpment invetory no?

silk bane
#

@boreal tiger yeah

#

the API should override that method in all relevant subclasses and annotate @NotNull as appropriate

#

but honestly who can be bothered to do that

boreal tiger
#

hahah xD

#

cool thanks ๐Ÿ‘Œ

#

intellij's warning was pissing me off lmao

silk bane
#

you can assert var != null

#

and intellij will stop complaining

naive goblet
#

@frigid ember I think YamlConfiguration#loadConfiguration is going to load the file? iirc it will return a FileConfiguration object loaded with the red values and keys from the file.

boreal tiger
#

assert throws an exception if its not what I want isnt it?

silk bane
#

assert doesn't do anything at runtime if you don't enable assertions

boreal tiger
#

ah right ๐Ÿ‘

#

thank you again

tiny dagger
#

are there any similar names to datawatcher?

naive goblet
#

Well it will make the most things for you except creating the file if it doesnโ€™t exist?

keen compass
dusty topaz
#

change mostly to how I am doing it and it should work :p

#

is there any difference to YamlConfiguration.loadConfiguration(f); and

FileConfiguration config = new YamlConfiguration();
config.load(f);
#

I've always done it the latter way but it seems everyone else is doing it the former

hasty forge
dusty topaz
#

get a better monitor

#

with a good aspect ratio

#

@frigid ember because you're typing loadConfiguration not load

#
    private void loadDataFile() {
        try {
            dataFile = new File(getDataFolder(), "data.yml");
            if (!dataFile.exists()) {
                dataFile.getParentFile().mkdirs();
                dataFile.createNewFile();
            }

            data = new YamlConfiguration();
            data.load(dataFile);
        }
        catch (IOException | InvalidConfigurationException err) {
            getLogger().severe("Failed to load data.yml file!");
            err.printStackTrace();
            getServer().getPluginManager().disablePlugin(this);
        }
    }
#

this is my code to do it

#

that I usually use

#

where:

    private File dataFile;
    private FileConfiguration data;
granite cedar
#

@silk bane know Veron?

naive goblet
#

Frostalf seeems good. But when I load I always make sure to make a new file instance that Iโ€™m loading

#

Obviously depends on what youโ€™re doing b

keen compass
#

I usually just do YamlConfiguration.loadConfiguration(file);
never had problems doing it that way

dusty topaz
#

i wonder if there is any internal difference

boreal tiger
#

you can look at the code

dusty topaz
#
in FileConfiguration
    public void load(File file) throws FileNotFoundException, IOException, InvalidConfigurationException {
        Validate.notNull(file, "File cannot be null");
        FileInputStream stream = new FileInputStream(file);
        this.load((Reader)(new InputStreamReader(stream, UTF8_OVERRIDE && !UTF_BIG ? Charsets.UTF_8 : Charset.defaultCharset())));
    }
naive goblet
#

Yes well Iโ€™m talking about the File not the YamlConfiguration itself

dusty topaz
#
    public static YamlConfiguration loadConfiguration(File file) {
        Validate.notNull(file, "File cannot be null");
        YamlConfiguration config = new YamlConfiguration();

        try {
            config.load(file);
        } catch (FileNotFoundException var3) {
        } catch (IOException var4) {
            Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + file, var4);
        } catch (InvalidConfigurationException var5) {
            Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + file, var5);
        }

        return config;
    }
#

looks like they're the same

#

ยฏ_(ใƒ„)_/ยฏ

keen compass
#

But, I also keep a single object though per yml file, but I usually don't have many yml files I need to load. If I had to load many yml files I would probably do it your way

frigid ember
#

Does someone know how to create a variable named like the return of a Method?

naive goblet
#

The static method doesnโ€™t make a new File instance from what I can see

granite cedar
#

@iron nebula explain what exactly went wrong with hypixel and their friend system please

dusty topaz
#

neither of them make a new file

boreal tiger
#

^

keen compass
#

probably encountered OOM errors

dusty topaz
#

loadConfiguration just calls load

#

and makes the new YamlConfiguraiton for you

naive goblet
#

Indeed

dusty topaz
#

so it's doing it over one line as opposed to two

iron nebula
#

They ran out of RAM

#

Literally

naive goblet
#

Well loadConfiguration handles the exceptions for you

dusty topaz
#

they ram out of ran

boreal tiger
#

lmao

iron nebula
#

Their friend system used 96GB's of RAM

boreal tiger
#

was it today?

naive goblet
#

gg

iron nebula
#

No, thats the old system

keen compass
#

they should have just got more ram

#

XD

boreal tiger
#

lol ๐Ÿ˜‚

dusty topaz
#

he's a millionare

#

won't be an issue

frigid ember
#

Does someone know how to create a variable named like the return of a Method?

naive goblet
#

Why have 96GB when we can have 96YB ๐Ÿ˜ฎ

dusty topaz
#

String myVar = myMethod();

naive goblet
#

@frigid ember wym?

#

You can name a method to anything almost

frigid ember
#

lets say my method returns "var1" then should a var with the name "var1" be created

naive goblet
#

and if the class extends a another class that finalizes a method

dusty topaz
#

no, it doesn't work like that @frigid ember

granite cedar
#

how did their friend system manage to use 96gb of ram? @iron nebula

#

what did they do in their code to cause that?

dusty topaz
#

not sure why you would want to do it like that

keen compass
#

because they had so much data, that caching it in Java used that much resources

frigid ember
#

k

iron nebula
#

Well Imagine having like 70k of online users and all of them having friends

dusty topaz
#

if I was one of the users

iron nebula
#

Thats a lof of data to keep in memory and process

keen compass
#

with an unlimited size friends list

dusty topaz
#

then only 69999 would have friends

#

because I have no friends :(

iron nebula
#

Lets say you have 70k online users and they all have at least 50 users

keen compass
#

if each of those 70k players has at least 100 friends, thats 7million players being processed

iron nebula
#

Thats 3,5m of objects

#

Okay lmao

granite cedar
#

okay

#

so hypixel stored players friends in memory?

iron nebula
#

You need to if they are online

granite cedar
#

explain

iron nebula
#

Thats how computers work

keen compass
#

Can't access data if its not there you know

granite cedar
#

you arent explaining

naive goblet
#

Logical sense ?

granite cedar
#

its not like 70k players on one server

#

so where is lag coming from

keen compass
#

it wasn't lag that killed them, literally the servers crashed due to not having enough ram

granite cedar
#

how does a server run out of ram

#

due to players having too many friends??/

iron nebula
#

Yes

granite cedar
#

how?

keen compass
#

Objects require resources

#

more objects you create the more ram you need

iron nebula
#

You know having no limit and having limited resources is not that great of combination

granite cedar
#

so hypixel stored a players entire friends list when they join?

keen compass
#

even if you are adding data to existing objects, they still use up a small bit more of ram

iron nebula
#

Snowball its more complicated than that

granite cedar
#

so hypixel stored a players entire friends list when they join???

dusty topaz
#

yes

#

how else would you keep track of it

keen compass
#

yes, but for every single player that joined

granite cedar
#

thats stupid

iron nebula
#

lmao

granite cedar
#

and you tell me they have the worlds best devs

keen compass
#

but that is the exact thing you are doing o.O

granite cedar
#

im storing strings

#

not objects

iron nebula
#

I'm done

keen compass
#

strings are still objects in java

#

but ok

#

Java is OOP

dusty topaz
#

strings are arrays of chars with some extra methods

iron nebula
#

Here we have our multibillionaire with his degree

granite cedar
#

millionaire

silk bane
#

everything is an object except for the things that aren't objects ๐Ÿ˜‰

iron nebula
#

U do also know processing strings use more CPU and RAM

granite cedar
#

but what did hypixel contatsntly track their friends online ststus or something?

iron nebula
#

Thats how it works...

keen compass
#

well said @silk bane lol

granite cedar
#

well thats stupid

iron nebula
#

Well how else would you know they are online unless you keep track of it

#

???

granite cedar
#

how did they track online status?

tiny dagger
#

hypixel is pulling your data on join

granite cedar
#

with bungeecord?

tiny dagger
#

that's all

iron nebula
#

No

dusty topaz
#

probably with redis

iron nebula
#

They have tens of bungees

hasty forge
#

how to turn off selection in chat? when I move the slider all the text selection

iron nebula
#

They have whole seperate application to take care of your friend list because its just that big of network

granite cedar
#

so how often do they track players status?

#

every second?

#

every minute?

iron nebula
#

They track it the whole session they are logged in

granite cedar
#

how often

iron nebula
#

Every ns

granite cedar
#

do they drun checks

iron nebula
#

No

#

Its just basic

#

When you log in -> You are marked as logged in

granite cedar
#

right

iron nebula
#

When you log out -> They remove your status

granite cedar
#

what does that have to do with tracking friends status

iron nebula
#

zzz

granite cedar
#

how often will they track your friends list if you join?

keen compass
#

now we are going back in circles

#

sigh

iron nebula
#

They load it in to the memory

#

Everything happens only when someone logs in or logs out

#

Memory and RAM is the same thing

#

zzz

granite cedar
#

so a player joins and all 5k of their friends are stored in the memory as online and offline?

dusty topaz
#

what about the unrandom access memory ๐Ÿ˜ 

iron nebula
#

Don, YES

granite cedar
#

and when a friend goes offline on a different server how does it work?

iron nebula
#

Like I said, they have whole separate application for it, microservice

granite cedar
#

thats stupid

iron nebula
#

Its not

#

Its smart

keen compass
#

^

#

its obviously better since their servers are not crashing

granite cedar
#

why would they want to cache/track 5k friends when they only need to know a friends stats when opening a gui?

iron nebula
#

Because imagine when there are 70k of online users there

granite cedar
#

and?

iron nebula
#

Fetching it as soon as someone asks for it is too slow

keen compass
#

we both gave the same example XD

granite cedar
#

you are fetching from mysql which can handle millions per second

#

so whats the issue?

iron nebula
#

That its too slow for them

keen compass
#

fetching and sorting it depending how large the data set is can be too slow

granite cedar
#

HAHA

iron nebula
#

They need to go way faster

keen compass
#

which is not the same as as mysql couldn't handle it connection wise either

#

two separate issues there

iron nebula
#

When you are dealing with 70k of ccu the very simple things needs to be more than just fast

granite cedar
#

smh this is why us industrial engineers are a rare breed

toxic moat
#

Keep in mind, that there have been 18 million unique players on Hypixel as well.

keen compass
#

not sure what industrial engineering has to do with this o.O

dusty topaz
#

you certainly are a rare breed

granite cedar
#

i have so many ideas, im taking over the mc schene. industrial engineers are basically professional inventors.

#

im going to SHOW yall rather than keep talking. laterr 8)

radiant pollen
#

haha ok

#

goodbye

keen compass
#

and the irony of those that actually did invent things most of them not being industrial engineers

iron nebula
#

Well lets say you have 70k ccu, and they perform one action at least once in a minute, thats at least 1k requests to handle PER SECOND

#

Performing one task in a minute is pretty slow, so you can expect there are shit ton of requests per second

keen compass
#

the bottle neck was obviously the mc server/plugin which can't keep up with that

tiny dagger
#

you should let him have his way guys

#

when his plugin reaches 300% lag he'll know why

#

:p

keen compass
#

it won't just lag, it will just crash

#

XD

tiny dagger
#

lol

iron nebula
#

Don with 3000 dedicated servers with his 20 ccu: Burn my bby, burn

keen compass
#

lol

#

If I had 3k rack servers, I would probably just open up my own dedicated server hosting

#

instead of trying to mess with an MC network

#

and just target MC people

#

probably a better avenue of approach as far as revenue goes then MC network

iron nebula
#

If I had 3k empty racks laying around I would just maybe sell them

keen compass
#

well, I have been wanting to open my own datacenter. And if I had 3k racks that would certainly help my goal in that ๐Ÿ˜›

iron nebula
#

You can have 1 rack and call it data center

silk gate
#

nitrous networks moment

keen compass
#

lol

#

I need more then that. need to have a datacenter going with more then just a rack if I want to force the local ISP to compete ๐Ÿ˜‰

silk gate
#

rack dc cheap to set up

#

no

#

tower

#

i cant think

iron nebula
#

Well debends how you want to compete with them, one rack can get it all started

keen compass
#

yes it can, but I need the upstream bandwidth

iron nebula
#

You dont need much to get the ball rolling

#

Well u need fiber then

silk gate
#

u need decent premises too

keen compass
#

Yes, but currently only the local ISP owns the fiber, so goal is to use Local ISP initially for the fiber, then start rolling out my own fiber as I get more racks filled. Once I have enough and rolled out my own fiber, I make PTP to other data centers, then I can switch to being an ISP as well to compete

#

I have 23 acres of land @silk gate

silk gate
#

oh

#

right

#

that helps

toxic moat
#

So, quick question for you guys.

I'm messing around with the EntityDamageEvent, I have my code working so that if pretty much anything, it'll cancel the event. When it touches a cactus or is on fire for too long, it'll disappear, however, I can still walk up and pick it up.

I'm certain this is a visual bug on the client side, is there something I can do server side to push an update to the client to continue rendering it?

keen compass
#

we will just let @granite cedar believe he is the only one here who has money @silk gate ๐Ÿ˜‰

iron nebula
#

I have few euros!

dusty topaz
#

little does he know, i am the ceo of microsoft

silk gate
#

i have a hundred quid in my bank ๐Ÿ˜Ž

#

crazy money

keen compass
#

I have no idea how much quid is even worth

dusty topaz
#

like 81 cents

silk gate
#

a lot

#

$1.24

#

kinda low

iron nebula
#

I also have 1m of doge coins

dusty topaz
#

:o

iron nebula
#

๐Ÿ˜Ž

keen compass
#

well its worth more then Euros

silk gate
#

i had 6 garlicoin when they were going for $2.50

dusty topaz
#

I have a 1/10000th of a bitcoin sooo

silk gate
#

and decided to hodl

keen compass
#

Euros is almost worth the same as USD now

silk gate
#

and now theyre worth literally $0.00000

iron nebula
#

Good, that should teach u a lesson

keen compass
#

Quid is worth 16 cents more then a Euro

#

XD

#

Might be a good time to invest in some Euros actually

#

with it being quite low

dusty topaz
#

people invest in actual currencies?

iron nebula
#

1m of doge coins is actually $2358

dusty topaz
#

except who would buy them

keen compass
#

@dusty topaz Yes, because it is cheaper then converting currency

wary viper
#

hi, how get bukkit world or send NMS from bungeecord to bukkit?

iron nebula
#

lol

#

Thats not how it works

keen compass
#

anyways, I have had my laugh for the day. I have some work that needs to be done XD

wary viper
#

;c

iron nebula
#

Well some other day we have more stupid people here

keen compass
#

have fun @iron nebula

iron nebula
#

No

#

I have shit to do too

#

And I have wasted enuf time here

keen compass
#

yeah I agree

cold wharf
#
[23:11:06] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'test' in plugin DiscordStats v1.0
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.craftbukkit.v1_15_R1.CraftServer.dispatchCommand(CraftServer.java:711) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.PlayerConnection.handleCommand(PlayerConnection.java:1657) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1497) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.PacketPlayInChat.a(PacketPlayInChat.java:47) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29]
    at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18) [spigot-1.15.2.jar:git-Spigot-800b93f-8160e29]

Error ^

import org.bukkit.Statistic;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class Test implements CommandExecutor {

    @Override
    public boolean onCommand(CommandSender sender, Command cmd,  String label, String[] args) {
        if (sender instanceof Player) {
            Player player = (Player) sender;
            int blocksMined = player.getStatistic(Statistic.MINE_BLOCK);
            player.sendMessage("You have mined " + blocksMined + " blocks");
        }
        return true;
    }
}

Code ^

#

Why is it giving that error?

radiant pollen
#

?paste

cold wharf
#

Whenever I use the command, it gives that error

worldly heathBOT
radiant pollen
#

Can you paste more of the error?

dusty topaz
#

can you paste the full stack trace

#

yeah lool

cold wharf
#

xD okay

#

wait a sec

radiant pollen
#

Use that link please.

cold wharf
#

I used this, is it okay?

iron nebula
#

Read the exception

radiant pollen
#

Look at line 21 in the paste you sent us.

cold wharf
#

Additional?

radiant pollen
#

Yup.

naive goblet
#

parameter

radiant pollen
#

The MINE_BLOCK statistic isn't for every block mined.

cold wharf
#

Oh

radiant pollen
#

It's for mining a specific block. It's asking you to specify which block.

cold wharf
#

I was actually trying to get total blocks player has mined

iron nebula
#

Loop thru all the materials :kappa:

radiant pollen
#

Haha no

naive goblet
#

Yeah thatโ€™s how we do it

radiant pollen
#

Isn't there another statistic for that?

naive goblet
#

Docs ?

radiant pollen
#

Oh wow I guess there isn't.

cold wharf
#

isokissa I don't want all materials? I just want the amount of blocks a player has mined

iron nebula
#

๐Ÿคฆโ€โ™‚๏ธ

cold wharf
#

can you please be specific?

radiant pollen
#

The statistic is for getting the number of times a player broke a certain block.

#

So you'll have to get the statistic for every block and add them up.

cold wharf
#

Oh okay

naive goblet
#

Or use scoreboard?

cold wharf
#

Scoreboard?

naive goblet
#

Yeah

#

I think there is a criteria for block breaking

cold wharf
#

Like add a scoreboard everytime player breaks a block?

#

Add to scoreboard*

naive goblet
#

Huh

#

Whut

#

Iโ€™m talking about org.bukkit.scoreboard.Scoreboard

cold wharf
#

Ahh oki

#

Let me see

#

What if

#

I use variables?

naive goblet
#

Wym

cold wharf
#

Like everytime player breaks or places a block, it will add it to the variable

naive goblet
#

Huh

radiant pollen
#

You can do that. You need a way to save it though; either a database or a file.

#

Because variables get wiped on server restart.

cold wharf
#

I was thinking to use database

#

yes

#

I can't use file

#

database would be better

naive goblet
#

The only problem I know with some scoreboard objectives is that they show a value of 0 unless initialized and loaded.

#

Itโ€™s mainly bad for showing current health

#

Meaning all players would have to take damage when joining to initalize the score but maybe itโ€™s different here

cold wharf
#

Conclure

#

If they break block, it will initalize the score

naive goblet
#

Yes?

#

Thatโ€™s why I thought it would be no problem here

cold wharf
#

yes

#

It is not a problem here

naive goblet
#

Also register the Objective if itโ€™s not registered

velvet hound
#

Does anybody still have spigot 1.7 src with working dependencies? (Paper would work too)

dusty topaz
#

๐Ÿคฆ

radiant pollen
#

No.

#

Update your server.

velvet hound
#

@dusty topaz 1.7 is the best version from a pvp perspective

naive goblet
#

1.7 jeez ppl still use it

velvet hound
#

so no thanks

naive goblet
#

Iโ€™d say 1.8 is

velvet hound
#

definitely 1.7

dusty topaz
#

i'd say nobody cares what is the best for pvp, use latest or don't expect any support

radiant pollen
#

@velvet hound No. pre 1.9 pvp is garbage

naive goblet
#

Why is 1.7 better for pvp than 1.8

velvet hound
#

@radiant pollen post 1.9 pvp is trash unlike 1.7/1.8

naive goblet
#

Okay some of the animations might be more helpful but still

radiant pollen
#

I disagree

naive goblet
#

Itโ€™s not trash but itโ€™s preferences

#

Still no cd pvp 1.8 is better than 1.7

velvet hound
#

In 1.7 there is a certain serverside lag which allows better hit registration as well as a better enchanting system

naive goblet
#

Better enchanting system and server side lag?

radiant pollen
#

Wow you sound stupid.

#

1.7 and 1.8 pvp is nothing but autoclickers

frigid ember
#

1.7 lit

#

bruh

velvet hound
#

But I am not asking if the majority of the peoiple here like 1.7; I am asking if anybody still has spigot 1.7 src with working dependencies? (Paper would work too)

naive goblet
#

Auto clicker doesnโ€™t help

frigid ember
#

spigot 1.7.10 exist

#

download it

final verge
#

No, thereโ€™s no reason for anyone to still have the spigot 1.7 src

frigid ember
#

Thereโ€™s a video by tenebrous on 1.7 vs 1.8 pvp that goes more in detail if you want to look it up

#

let him ffs

#

jeez judging community

#

let him get what he wants

radiant pollen
#

It's no longer supported

frigid ember
#

i stead of saying how bad 1.7 is

radiant pollen
#

and it shouldn't be

frigid ember
#

why

velvet hound
#

I need the src with working dependecies tho

frigid ember
#

just let it be

final verge
#

Because only 1.14 and 1.15 are supported

frigid ember
#

ok..

#

good reasoning

naive goblet
#

@velvet hound decompile it?

frigid ember
#

just this community hates on 1.15 or less users

velvet hound
#

Is it not obfuscated?

naive goblet
#

Nms is?

frigid ember
#

i ask for support on a 1.8 or even 1.13 plugin development

#

they harrass me

#

for not using 1.15

radiant pollen
#

1.8 is 5 years old

frigid ember
#

i said or even 1.13

final verge
#

Because only 1.14 and 1.15 are supported

velvet hound
#

Also can I then re-compile it with a slight change? @naive goblet

frigid ember
#

two days ago i was harasse for not using 1.15

warped shuttle
#

Itโ€™s not our fault you choose to use out of date software lol

frigid ember
#

and apparenty im ruining the community

warped shuttle
#

Why are you being so entitled

naive goblet
#

Are you looking to make a fork?

final verge
#

Because only 1.14 and 1.15 are supported

naive goblet
#

Diamond depends on what you mean by supported

frigid ember
#

people said im a retard

radiant pollen
#

There's no point in supporting old versions especially when they're ass. :]

frigid ember
#

for using outdated software

#

some people like old versions

#

thats opinion thing

radiant pollen
#

Exactly

final verge
#

But it means you wonโ€™t get support

radiant pollen
#

So why hate me for not wanting to support 1.8

final verge
#

Thatโ€™s something that comes with it

frigid ember
#

then dont call people retards

radiant pollen
#

if it's an opinion thing

frigid ember
#

no what i hate

radiant pollen
#

devs dont want to do it so they dont

#

it's an opinion thing

#

;]

frigid ember
#

is i was called a retard for using it

hoary parcel
#

asking support for unsupported versions is infact retarded

velvet hound
#

But dispite this discussion does anybody still have spigot 1.7 src with working dependencies? (Paper would work too)

frigid ember
#

no

final verge
#

No

hoary parcel
#

because you know, they are unsupported ๐Ÿ˜„

frigid ember
#

i was called retarded for using it

warped shuttle
#

Please make your life harder and support lower versions while I pay you $0 ๐Ÿ˜ƒ

radiant pollen
#

@velvet hound no

frigid ember
#

some stuff stay the some up to higher versions

naive goblet
#

Old I do have it on my old pc which I can access later

velvet hound
#

aight ty

frigid ember
#

using 1.8 client is apparently retarded here

#

that is what was said

radiant pollen
#

yes

frigid ember
#

i didnโ€™t ask for support

#

how is it retarded to use outdated client

naive goblet
#

Itโ€™s not retarded but itโ€™s not recommended

frigid ember
#

yeah

velvet hound
#

A voice of reason

frigid ember
#

im cool with that.

velvet hound
#

finally

frigid ember
#

just dont say weโ€™re retarded

#

for using it

dusty topaz
#

maybe i am part of the snowflake generation

naive goblet
#

As a matter of fact 1.8 pvp is still not dead because of a reason obviously

radiant pollen
#

ResidentSleeper

frigid ember
#

true

#

conclure, i am a 1.8/1.7 pvper

naive goblet
#

I was

frigid ember
#

many people here are so judging

naive goblet
#

Mhm

frigid ember
#

well.

naive goblet
#

I mean donโ€™t we all?

frigid ember
#

but i dont call you dumb or retarded for using an older version

#

no wonder we all use java 8

#

outdated HA UR RETARD

#

like cmon guys..

naive goblet
#

Yeah itโ€™s a difference between being factual and being a d*head

frigid ember
#

yeah

#

recommended, yes.

#

i agree, it is.

radiant pollen
#

I'm just saying don't complain when you can't find a version that's almost 6 years old :/

frigid ember
#

i didnt firstly

radiant pollen
#

No one said you did

frigid ember
#

and im talking about the client bro

naive goblet
#

^^

warped shuttle
#

BrO

naive goblet
#

Who da hell put this chat cooldown :/

frigid ember
#

im focussing on the client so i didnโ€™t ask for support about the client

#

If you're willing to play an outdated and no longer heavily supported version, don't expect people to still help you out with it. Most of us haven't worked with 1.8 or below since 1.11+ lmao

#

or who does

#

i said client so i didnโ€™t ask for support

final verge
#

Chat auto goes on cooldown if there are 8+ messages in 10 seconds

frigid ember
#

i simply hint im using 1.8, and im insulted

naive goblet
#

Well even if there is no official 1.8 support itโ€™s still many people who can support a 1.8 developer unofficially due to the fact that itโ€™s still commonly used.

frigid ember
#

some features like some event names stay the same from 1.8->1.15

final verge
#

Commonly used is a loose term

frigid ember
#

Come on now, get your story straight at least

#

topics change bro

#

you're in a help channel, asking for support with an outdated version

naive goblet
#

Youโ€™re not directly making it better Sable?

frigid ember
#

People are going to ridicule that, that's what people do, it's not great, but that's life unfortunately

#

jist tryna say outdated != bad

wanton delta
#

wrong, sorry

frigid ember
#

many use java 8, lets be real

wanton delta
#

Thatโ€™s different

frigid ember
#

i can also complain its outdated as there is a newer version out there

#

so what?

#

Right and many used java 7 for years, but that's only because server owners rarely update their java versions so it's easier to develop in the older versions

wanton delta
#

Using an unsupported version is unsupported

frigid ember
#

same for plugin versions

#

some donโ€™t upgrude their versions including me :/

naive goblet
#

Itโ€™s not necessarily bad Martoph?

wanton delta
#

Java 8 is supported in most cases

frigid ember
#

i like supporting outdated and newer clients

#

all are welcome

wanton delta
#

Outdated servers are bad

frigid ember
#

instead of forcing them to join on 1.15

#

thats my opinion

wanton delta
#

I get adding support

frigid ember
#

saying its bad is incorrect

#

I use to make plugins in Java 7 well into Java 8, because any plugins compiled to Java 8 had a lot of complaints because a lot of system admins wouldn't update java, it's not ideal, but it's something we have to live with, it's not the same when it's 6 years outdated lmao

#

hypixel for example is bad?

#

largest server i know?

wanton delta
#

But running a server on anything other than 1.15 and asking for support isnt welcome

naive goblet
#

Difference between generalize server versions only comparing to compare outdated in general

vale slate
#

java 7 should not be used anymore

radiant pollen
#

Hypixel can afford to pay devs an amount of money that makes it worth working with an API that's 5 years old.

frigid ember
#

let users use what they want mdm

wanton delta
#

Hypixel is popular but they would benefit from updating in the long run

frigid ember
#

mfm

#

nah

#

like half of the community cut off

wanton delta
#

100s of features at the sake for legacy pvp

vale slate
#

java 7 has major security problems

frigid ember
#

ok

wanton delta
#

I bet most players connect with 1.15 protocol

frigid ember
#

i think half join with 1.8

#

most either use 1.8 or 1.15

radiant pollen
#

Hypixel's game doesn't use what people would consider 1.8 pvp

frigid ember
#

Most end users will use 1.15, people keep their profile on "Latest version" more often than not lmao

naive goblet
#

It happened to be so that a lot changed from 1.8 to 1.9 etc

frigid ember
#

its split into 1.8pvpers and latest version people

#

Big servers are a completely different ball game though, their devs have to put a lot of work in to make those servers what they are, and it costs a lot of money

#

i have no problem with latest version, i even use it in some cases rarely though

#

nice features

#

just be a bit more open minded

wanton delta
#

I think hypixel could easily win back their players if they ipdated to latest version

naive goblet
#

Lmao

wanton delta
#

What sre they players gonna do? Just not play their favorite server? Lol

frigid ember
#

yeah

#

move to another server

#

If you've spent upwards of 10k on development, you don't want to be updating to a newer version and having to pay out for those devs to update them lmao

#

id move to minemenclub

wanton delta
#

Even if they adopt legacy pvp?

frigid ember
#

you claim java 7 has security issues i can fight back with minecraft 1.15 has worse performance than 1.8

#

convince you?

#

its peoples opinion

wanton delta
#

thatโ€™s completely different?

naive goblet
#

Sable thatโ€™s true indeed but itโ€™s proving that hypixel is working with 1.8 more than good or so

frigid ember
#

@frigid ember are you talking about java 7 or minecraft 1.7?

wanton delta
#

Getting hacked.... vs performance?

frigid ember
#

Think you're mixed up here bud

#

java 7

#

they're 2 different things

coral fractal
#

Hay, this has nothing to do with Spigot, but I saw that Spigot uses JLine2. Does anyone know how I use Jline3?

wanton delta
#

Spigot uses Jline2

#

I would know

frigid ember
#

oof

naive goblet
#

Retrooper said outdated != bad which is true...

frigid ember
#

thats not a reason to tell me not to use it

#

i didnโ€™t ask for support

#

Newer java versions are backwards compatible with anything made in older versions (at least a couple of versions back), so java 7 vs java 8 isn't a question hahahaha

#

its literally not even allowed to have a conversation about 1.8

wanton delta
#

@coral fractal why do you ask?

frigid ember
#

or people will just attack you

#

saying ew he uses 1.8

#

retard

#

youre dumb

#

1.8 or 1.9

wanton delta
#

Woah my guy

frigid ember
#

use 1.15.2

#

no outdated software

#

else u bad

#

any version lower than 1.15 is apparently bad

wanton delta
#

Yea

frigid ember
#

unless u have good reason

wanton delta
#

lol

vale slate
frigid ember
#

like 2b2t

coral fractal
#

@wanton delta I will create a cloud.

frigid ember
#

It's not bad, but the server software is not updated anymore

naive goblet
#

Defining support for old versions may be tricky. Itโ€™s really the official support that older versions loses but there is many people who still knows and can help people that works with outdated versions unofficially.

wanton delta
#

CraftBukkit uses Jline2

#

Which is what spigot uses

frigid ember
#

@vale slate is right though, this should be moved out of support now, it's just a debate at this point lmao

#

So if there was an exploit to be found in the software, your server is screwed

wanton delta
#

If that helps

naive goblet
#

Yeah

#

I believe you can String.join

#

With \n

#

Or if you wanted the messages to be seperately sent

leaden dawn
#

But there's no need to do that

naive goblet
#

You could also .stream().forEach()

leaden dawn
#

Try separating the - and the word

naive goblet
#

^

leaden dawn
#

It should be taken as a StringList and read it

#

But what @naive goblet is totally correct (but not a good practice having this #getStringList() function)

naive goblet
#

I can of misunderstood the issue here ๐Ÿ˜ฆ

leaden dawn
#

Nope, u understood well I think, his #getStringList() isn't working well so he asked for a way to save all as a string and just parse it.

#

@frigid ember try putting a space between the - and the word

frigid ember
#

Pretty sure the space is required

leaden dawn
#

np

heady shadow
#

Does the lightbans plugin have a license code, so that someone who comes to the plugin folder can just have the plugin without paying?

naive goblet
#

Hmm unsure

frigid ember
#

Not that I'm aware of

heady shadow
#

Are there people who are sure?

leaden dawn
#

@heady shadow I'm pretty sure that if the question is with piracy intentions it is not allowed here.

frigid ember
#

You'd have to ask the Dev, message them on spigot?

keen compass
#

or her, can't just assume one gender >>

frigid ember
#

True hold up

heady shadow
#

Where can I ask this question?

#

You'd have to ask the Dev, message them on spigot?
@frigid ember no

frigid ember
#

His profile literally says to message any questions to him @heady shadow

leaden dawn
#

Also if you want to hack his plugin ^^

frigid ember
#

If you're not willing to ask the dev, chances are you have bad intentions and we're not going to support that I'm afraid

heady shadow
#

Maybe a stupid question, but maybe you can ask that. I don't know how to do that xd

#

Also if you want to hack his plugin ^^
@leaden dawn Send me in PM

keen compass
#

lol

final verge
#

lmaooooooooooooooooo

keen compass
#

I guess the answer is clear on the intentions part

leaden dawn
#

@heady shadow you won't get that plugin without paying for it's license, so no. There's no way to install his plugin without a license.

frigid ember
#

Pretty sure you're upto no good bud ๐Ÿ˜‚

hallow urchin
#

Does anybody know how to get a players numbers of votes to show up in tab by each others names??

leaden dawn
#

And no, I'm not gonna help you with that. You* can try to hack him for contributing, but not for using his plugin without paying xD

heady shadow
#

Yes, sorry I'm a Dutchman. My English is not good. Sorry for not understanding or misunderstanding sometimes.

keen compass
#

modify the tab list packet unless spigot has an API of it

#

I figured you were Dutch due to your name ๐Ÿ˜‰

heady shadow
#

๐Ÿ˜›

hallow urchin
#

Can you give me some first steps on how to do that?

#

Please ๐Ÿ™‚

keen compass
leaden dawn
#

Protocollib is good for that

hallow urchin
#

Ty

leaden dawn
#

unless u want to get into reflection

keen compass
#

protocollib or reflection either way reflection is done, just one takes care of that for you ๐Ÿ˜›

heady shadow
#

Surely there are cracked plugins for that?

keen compass
#

surely we don't support piracy

hallow urchin
#

Ok ill try and do it

frigid ember
#

@heady shadow not a topic for discussion here

leaden dawn
#

@heady shadow stop asking for piracy please.