#help-development

1 messages · Page 865 of 1

eternal night
#

once downloaded, in your local .m2

#

command api is dumb idea xD

slate mortar
#

welp, apparently not?

#

there are no sources still

river oracle
eternal night
#

rip

river oracle
#

It's another 10,000 iq idea

eternal night
#

for sure

#

it certainly won't be outdated and replaced by thirdparty ones in a matter of months

river oracle
#

Spigot needs brig colors absolutely required so I'm going to sell my soul

slate mortar
#

at least this does not look like there are any sources

#

and it seems to actually search for those too

river oracle
eternal night
#

yea but "no brig support" isn't just shat in

#

you can't just shit in brig into the existing API lol

river oracle
eternal night
#

good luck 👍

#

I guess that is my queue to go back to work on paper, gotta hardfork before that mess ever makes it into spigot kekwhyper

river oracle
#

Mainly I need to aim high because this semester I have 5 hour gaps in between classes

#

On 2 days a week

#

And I can't go home

eternal night
#

here

eternal night
#

8225 open issues

#

fix some of those xD

river oracle
#

Oh come on why no brig it'll be fun

#

It might take a few months to make nice though unlike inventory api this isn't something I can think up and make in a week

eternal night
#

Like, I am sure it is possible, what owen is doing for paper seems reasonable, but the PR is just, kinda unmergable

#

So like, you just end up wasting time for 0 gain beyond showing it is technically possible

river oracle
eternal night
#

I mean a) yes, but b) maitaining a framework on the server api level just becomes annoying

#

you can just expose brig and dip, probably the most sensible thing to do

river oracle
eternal night
#

well that isn't a command API pr tho

#

if you just try to expose brig, I mean sure

river oracle
#

Granted you have the drawbacks of using a third party library though

eternal night
#

a lot of work

#

but doable

#

but you said command API prior

#

which is completely different from just exposing brig

river oracle
#

Alex told me about a legendary async tab completion too that exists I wanted to try out too

#

I mean considering chat is asynchronous tab completion not being is weird

eternal night
#

Well it isn't on the server side yea xD

river oracle
eternal night
#

¯_(ツ)_/¯

#

its a waste of time. md would be a mad man to take on the responsibility of maintaining a command framework on spigot that is more complex as the current implementation

river oracle
#

I'm all about the funnies and 0% about the naming practically have you seen my greatest achievement Pineapple???

eternal night
#

like, cloud has a full team of people. so does AFC

slate mortar
#

ha, got it working

river oracle
#

Yeah cloud is super nice no point in a server software doing that ahit

eternal night
#

nice 👍

#

what was the solution

slate mortar
#

using bt with --generate-source and manually setting the src-folder in intellij to "$BuildTools/Spigot/" seems to have done it

#

dunno what other useless shit it also indiced now, but idc to be honest

river oracle
#

Anyways since school starts next week with the gaps and all I figured I should start stuff only issue is running BT on my laptop 😂

eternal night
#

best of luck 😅

slate mortar
#

seems to do exactly what i want now. thx

eternal night
#

nice party

river oracle
#

Into space

eternal night
#

OMEGALUL you should hear my macbook when it runs papers applyPatches

river oracle
eternal night
#

kekwhyper the shitty version of a kernel dev

river oracle
#

They'd be impressed by PineappleChat smh

#

I'm going into classes related to my actual career now though ig that's loosely related but not directly

opal juniper
#

That’s why we write docs

#

So we can do it in lecture silently

quaint mantle
young knoll
#

There’s two types of people in programming classes

#

Those that have already been programming for 5 years

#

And those that barely know what a computer is

#

No in between

shadow night
chrome beacon
wooden frost
#

What methods can be used to modify a mob's existing nbt data?
For instance if i want to modify a dropped_item entity's itemstack data, what can i do?

young knoll
#

Use the api?

#

Item has getItemStack and setItemStack

river oracle
# young knoll No in between

fr there were some people who were in my entry level programming class who were actually already software engineers

#

their company was simply paying for their degree

young knoll
#

Sometimes you gotta have that degree

river oracle
#

( i am not good at coding )

wooden frost
#

if i have the entity only?

tender shard
#

Yes

wooden frost
#

no

#

like lituraly

#

i dont have the "item"

#

i have the "entity"

tender shard
#

Cast it

wooden frost
#

Entity datatype

tender shard
#

Item item = (Item) entity;

wooden frost
#

oh

#

i forgor

young knoll
#

I would check and cast but yeah

#

Unless you are certain it is an item

wooden frost
young knoll
#

Via api methods

wooden frost
young knoll
#

All vanilla NBT values should be exposed via some sort of method

wooden frost
#

oki then

#

thanks

#

was most interested in item

#

:)

young knoll
#

See the javadoc classes for various entities to find the methods you need

boreal island
#

how i can download plugins automatically?

#
  • python
river oracle
#

Spiget API

#

you can't download premium plugins being the caveat

boreal island
#

can i use it for fabric?

river oracle
#

no this isn't hte place to ask about fabric

#

also its spiget -> API For Spigot Resources, not spiget -> API for Fabric Resources

boreal island
#

ok thks

young knoll
#

Modrinth has a downloads api iirc

river oracle
#

ye i thinks so

inner mulch
#

hello, i got a bukkitrunnable and it is supposed to runtasklater, but in some cirumstances in need to run the task immediately, can i get the runtasklater task and run it immediately somehow?

river oracle
#

You'll have to save it in memory in that case

inner mulch
#

i alr saved those tasks in memory

#

but i dont see a run immediately method or something

#

do you know how i can run it?

river oracle
#

Pretty sure they have an exposed run method

#

If not either reflection or make a wrapper

#

Id suggest the latter but you do as you see fit

inner mulch
#

i dont think im capable of doing any of those two, is there are tutorial on these methods ?

river oracle
#

?jd-s

undone axleBOT
inner mulch
#

you sure this explains what a wrapper is?

river oracle
#

BukkitRunnable legit has an exposed run method

#

it implemenets Runnable

inner mulch
#

im saving the bukkittask in memory

#

i guess thats the reason why

river oracle
#

one second let me check source

hazy parrot
#

CraftTask Implements Runnable

river oracle
#

use reflection

hazy parrot
#

no need, just cast BukkitTask to CraftTask

river oracle
#

actually a cached MethodHandle right here

slender elbow
#

i mean, you could just cast to Runnable

river oracle
#

oh true

hazy parrot
#

or runnable ^

river oracle
#

don't cast to CraftTask though

#

then you lose multi-version compat

#

casting to runnable blindly should be fine though

inner mulch
#

so cast to bukkitrunnable?

shadow night
#

CraftTask would mean specific version

valid burrow
#

does precommandprocces event.getcommand return the command with or without the /

river oracle
#

no cast to Runnable

inner mulch
#

okay

inner mulch
valid burrow
#

alright

inner mulch
#

i tried that once but it doesnt work

rotund ravine
#

If u got code that needs to run instantly, do it properly, and then cancel the task.

inner mulch
#

i could do that, but only the task knows what should happen

#

and i do not

#

as there are different things that can happen

#

easiest solution is running the task immediately

shadow night
#

Make a method that does what the task does and call it from the task and whenever you need to run it now, maybe

#

Or am I misunderstanding the idea of this thingy

inner mulch
#

as i stated, only the task knows what's going the happen as the variables put in the task are never the same

#

and i dont know the variables

#

im putting player objects in the task and i dont know which player objects are in the task

shadow night
#

You could make a class that stores the variables instead of the task/runnable

inner mulch
#

i guess, but why shouldnt i just run the task?

shadow night
#

If you can't how do you want to?

inner mulch
#

i can, runnable.run()

#

im saving all tasks

shadow night
#

Hmmm

inner mulch
#

runnable.run();
tasks.remove(runnable);

shadow night
#

Crazy

inner mulch
#

i know

waxen plinth
#

I would make a task wrapper

#

well, wait

#

at what point do you know when the task needs to be run

#

if you know at point of scheduling whether it'll need to be run immediately or later, then I don't see the problem

#

if you need to schedule it and later potentially run it early, I would make a wrapper that schedules the task and stores it, with a runEarly() method orn something that cancels the task and runs it immediately instead

#

you could store the actual thing to be executed as a Runnable separately from the task

median trench
#

Hi there, was wondering, do you have any special method for testing plugins that need more than one player? I've been using a cracked client as a secondary acc for a while, but there might be a better way

Also, I remember that forge repo allows gradle runClient (I think) that opened a client with an offline account to test mods and that's quite useful imo, so is there any standalone repo or a way to do that from the terminal? (I searched on google and find quite old threads, +9 years)

young knoll
#

Not that I know of

#

Use something like multimc to launch offline accounts

shadow lava
#

Hello everyone! I have a question regarding Bukkit/Spigot 1.20.2. I'm working with ProtocolLib, canceling/sending some packets with delays. I'm encountering a peculiar issue: upon the FIRST LOGIN of player X after a server restart, all of their tools have the breaking speed equivalent to a bare hand (as if the tools don't exist). However, upon relogging (regardless of how many times), the breaking speed becomes normal for the same player X. The server has no plugins except mine, and it uses the Purpur core. After a server restart, all players experience the tools having zero breaking speed until they relog.

Is there a specific network packet responsible for breaking speed, or how can this be explained? Which direction should I investigate?

P.S.: Sorry for my English.

young knoll
#

Does it occur on spigot

#

We aren’t purpur

median trench
tender shard
#

"yo bro I dont think its worth it"

valid burrow
#

xd

#

someone should make a language pack

#

that

#

changes the messages to something like that

#

"man you forgot a simicolon again its like the 100th time today"

#

"switches are a thing yk?"

#

"this is stupid try this instead"

molten hearth
#

unnecessary complexity for little achieved

eternal night
#

I mean, always depends how hot the path is your are optimizing

#

given I doubt noInit is called like, every other millisecond, its w/e

molten hearth
#

If it doesn't cause performance issues I don't optimise it

eternal night
#

Well, depends on the project I guess.

hybrid spoke
eternal night
#

if you are writing a plugin that is a somewhat terrible attitude

hybrid spoke
#

"mamamia, what happened here?"

eternal night
#

obviously there is a point where it is overoptimization, for sure

hybrid spoke
#

bowser laugh on build failure

eternal night
#

but like, coding with speed in mind in a modular landscape where your module will have to share cpu time with 20 other modules is not a dumb idea

molten hearth
#

the other modules better have my same mindset 💯

eternal night
#

Yea exactly

shadow night
#

The only reason to overoptimize is when you are bored and finished your project already

#

Then you just completely rewrite the whole thing to run 20 times faster and look 70 times cleaner than before

molten hearth
#

I mean looking cleaner is debatable

#

I often end up having to use new caches in places that kind of annoy me because I find it to look much worse than a simple getter call

shadow lava
# young knoll Does it occur on spigot

Alright, I downloaded the latest build of Spigot-1.20.2, set up a local server with it, and my plugin. Everything is the same; upon the initial login, the tools break at the speed of a bare hand, but upon relogging, everything works fine. What versions are available?

molten hearth
#

But true if it was fundamentally bad code in the first place then sometimes optimisation helps cleaning it up

young knoll
torn shuttle
#

man chatgpt is just a game changer

#

the solution is completely valid

tender shard
shadow lava
mellow edge
#

does anyone by chance know which packet needs to be sent (with nms) for player unwearing armour, otherwise I'll need to find it here: https://wiki.vg/Protocol

young knoll
#

Digging speed is controlled by the item and the players attributes

#

So whatever packets are sent corresponding to those

chrome beacon
#

Break speeds are hardcoded

young knoll
#

Don’t we have an api to fake armor changes

#

Oh right

mellow edge
chrome beacon
#

The only thing I can think of here is item tags being removed from some reason

young knoll
#

My brain was thinking attack speed

#

Yeah breaking speed is controlled by the item and the block tags

torn shuttle
mellow edge
#

this is not possible for me because I need to code a plugin for 1.8

#

oh wait but I can still do it how it is done in CraftBukkit's code

molten hearth
tender shard
tender shard
mellow edge
tender shard
#

Clientbound is Out, so I guess it's PacketPlayOutEquipment or PacketPlayOutEntityEquipment or PacketPlayOutSetEntityEquipment or sth like that

mellow edge
#

net.minecraft.server.v1_8_R3.Packet<net.minecraft.server.v1_8_R3.PacketListenerPlayOut

#

PacketPlayOutEntityEquipment

#

thanks btw, let me see if it works

shadow lava
young knoll
#

I think a better question is what the heck are you doing to break it in the first place

shadow lava
#

Very briefly, I cancel the event of Server2Client sending all packets except these:
"SPAWN_POSITION",
"SET_SUBTITLE_TEXT",
"SET_TITLE_TEXT",
"CLEAR_TITLES",
"SET_TITLES_ANIMATION",
"SET_ACTION_BAR_TEXT",
"SYSTEM_CHAT",
"KICK_DISCONNECT",
"LOGIN"
And when canceling, I write them to LinkedList to send them in the same order a little later. I can't explain the main purpose of this case. But I have mentioned the main functionality

young knoll
#

...

#

O... kay

chrome beacon
#

Not sure why you're cancelling all the packets though 🤷‍♂️

young knoll
#

Probably part of the login packet

#

Idk wiki.vg doesn't have the 1.20.2 protcol -_-

shadow lava
#

Roughly speaking I make a plugin for authorization and try to buffer Server2Client packets to send them only after login. This hides unnecessary data about the player before he logs in

young knoll
#

Oh

#

It's just not linked anywhere

#

blah

chrome beacon
#

It's in the version list

#

wdym

#

Anyways... Allow the update tags packet

young knoll
#

wut

shadow lava
young knoll
#

Where is "version list"

chrome beacon
#

Then click page for the version you want

young knoll
#

Oh version_numbers not protocol history

#

Wait 1.20.2 was the configuration phase

#

Wack I thought it was .3

#

But yeah don't cancel the config packets

proud badge
#

is this legal

#

comparing UUIDs with ==

young knoll
#

Sending them later wont work since they can't be sent outside the configuration phase

chrome beacon
shadow lava
#

Hmm, which packages are configuration packages? Uh, interesting.

chrome beacon
#

They should be clientbound

floral drum
chrome beacon
#

so I'm guessing the same folder as the other clientbound packs

floral drum
#

that's how I go by it

remote swallow
floral drum
proud badge
chrome beacon
#

There are cases where you want to compare with ==

shadow lava
#

I mean how do you determine which package is "configuration" and which is not? Is there any information?

floral drum
chrome beacon
#

You just have to be aware of what it does

proud badge
#

doesnt it compare their location in the ram

chrome beacon
#

That's how you work with NMS

young knoll
#

but idk their protocollib names

shadow lava
#

Yes, I got myself the CraftBukkit sorts, however I haven't figured it out yet. I mainly write for 1.7.10 version, and in this version network is completely different. I can't get used to it yet

young knoll
#

6.1.1 Clientbound Plugin Message (configuration)
6.1.2 Disconnect (configuration)
6.1.3 Finish Configuration
6.1.4 Clientbound Keep Alive (configuration)
6.1.5 Ping (configuration)
6.1.6 Registry Data
6.1.7 Resource Pack (configuration)
6.1.8 Feature Flags
6.1.9 Update Tags

shadow lava
chrome beacon
#

How about just blocking the packets you want to block

#

instead of whitelisting packets

young knoll
#

Can't help but be curious why they are delaying packets

shadow lava
#

To prevent the server from sending unnecessary heavy packets when attacked by bots

shadow lava
#

As well as hiding information about the player's location, inventory and more

young knoll
#

Isn't there a gamerule for location

#

reduced debug info iirc

shadow lava
#

On 1.7.10 I write in general mods, not plugins. However, it was necessary to temporarily switch to 1.20.2

rare rover
#

hmm, whats wrong with this?

#

it moves it but not interpolating it

#

just instantly gets moved

young knoll
#

I think you need to set the durations after you apply the changes

#

could be wrong

rare rover
#

ah let me try

#

so

#

nah, still doesn't interpolate

shadow night
#

Is there some way to track when the server is done loading? Like, the moment the server sends the "Done!" message into the console

rare rover
quaint mantle
#

Hi , what is cheapest minecraft hosting ?

rare rover
#

bloom is a nice host

#

i've used it for quite a while

quaint mantle
#

so this is for poor owners ?

#

xD

remote swallow
#

bloom are one of the cheapest i know of

rare rover
#

i mean i wouldn't say poor but its a good host for how cheap it is

ivory sleet
#

yea its pretty cheap

#

not sure how their availability and support is

remote swallow
#

support is pretty good, idk about availability

quaint mantle
remote swallow
#

thats performance plus

#

normal performance for 18 would suit most servers

#

you probably also wont find actually good hosting for cheaper than this

rare rover
shadow night
#

I'd guess you can play with 6gb ram with like 8 players, dunno about 8gb

quaint mantle
rare rover
#

even performance+ is a good deal imo

quaint mantle
rare rover
#

then use essentials

#

$10/mo for 4gb

sterile token
#

Are you kidding with 20$, You can perfect pay a good vps machine on Contabo hosting

quaint mantle
rare rover
remote swallow
#

^^

rare rover
#

people ain't selling 4gb servers for $0.50 per gb

remote swallow
#

if you need cheaper the next option is self hosting which in the long run would probably be more expensive

shadow night
quaint mantle
rare rover
shadow night
quaint mantle
buoyant viper
# rare rover

i like how they list Aikars flags as a selling point

ivory sleet
#

Omid you cant take just raw numbers into consideration, things like location, availability, support and other things for instance the more exact hardware specifications matter also

sterile token
shadow night
ivory sleet
#

or well, they could be updated to match the current mc jvm resource consumption more sophisticatedly

remote swallow
#

new flags just dropped conclube optimization flags

ivory sleet
#

lol well I want to find some optimal ones w j24

sterile token
#

If You want to run a whole network, just buy a vps. It's cheaper than paying many hosts

ivory sleet
#

once that releases

remote swallow
#

yeah but who uses anything higher than 17

ivory sleet
#

21 virtual threads

#

enough of a reason to migrate

#

also gen zgc!

#

which is an interesting subimpl of zgc

remote swallow
#

does zgc even do much to spigot/mc

ivory sleet
#

unsure

#

zgc has been known for very volatile consumptions

#

but gen zgc aims to stabilize the consumption over time but regionalizing objects depending on their lifetime

remote swallow
#

sus

ivory sleet
#

yup

slender elbow
#

tbf g1gc is just fine for like 99+% of servers

ivory sleet
#

yea definitely

sterile token
#

Buy a vps!!

remote swallow
#

what about those really nerdy servers that have 2 terrabytes of ram and run folia

sterile token
#

You forget all problems

sterile token
#

You love to over engine it

#

Vps re the solution for mc hosting

buoyant viper
#

i had a lot of trouble finding a vps that felt like it had good price to perf so i just said fuck it n rent a dedi from ovh

#

(fckin american servers, why cant ANY of them be cheap enough)

tender shard
#

lmao on amazon, all the books about gradle are not part of kindle unlimited - except for this one lmao

#

the only one included in the subscription is ofc the 1 star bullshit book

#

i don't feel like spending 60€ on a book that will be outdated in 2 years agao

slender elbow
#

i generally don't like directing people to youtube videos but this is genuinely good

shadow lava
#

I can't find the network packet name for Feature Flags and Update Tags in ProtocolLib

#

🤔

steady pelican
tender shard
tender shard
#

ha kotlin! you promised to not need semicolons but why do you require the commas here? aren't they pointless?

sterile token
chrome beacon
#

contabo is bad though

sterile token
#

16gb of ram around 10$ per month in Contabo

chrome beacon
#

Ram isn't everything

orchid trout
#

hetzrnwr

steady pelican
#

maybe check on hetzner in finland, they are cheap for dedicated servers

chrome beacon
#

You can have plenty of ram and a potato cpu

steady pelican
#

for dedicated servers, not vps

sterile token
orchid trout
#

hetzner

dry hazel
sterile token
chrome beacon
river oracle
steady pelican
river oracle
#

you'd have to have a pretty smart tokenizer to determine whether or not your tokens are collapsed or not its easier probably to just force a syntax

chrome beacon
#

I switched from Contabo to Hetzner

#

Lower price and better performance

tender shard
tender shard
river oracle
tender shard
#

yeah but why

buoyant viper
#

hetzner doesnt exactly have american servers tho now do they

tender shard
#

ofc but no dedicated in US

#

what the heck is the plural of dedicated

#

dedicateds?!

buoyant viper
#

basically yeah

river oracle
# tender shard yeah but why

mmm well I'd assume ( is considered to be a constrcutor in pretty much every form so you need to know when params start and end

buoyant viper
#

or dedis

tender shard
#

dedicated's

#

(because I ommited the server

chrome beacon
tender shard
river oracle
buoyant viper
tender shard
buoyant viper
#

i mean idc if its x86_64 or ARM tbh

#

ARM is nice but ive only used it on oracle so far lol

tender shard
#

but 2 cores = 2 threads

buoyant viper
#

ah, no hyperthreads

#

sadge

#

jk

tender shard
#

just get the CCX63. it got 48 cores and only costs 342€ lol

sterile token
dry hazel
sterile token
#

lmao, in my case I paid a thousand euros for 2 impeccable servers with 128gb ddr3, dual xeon 16 cores and 2tb sdd on each machine. I paid them so cheap because they were auctioned from a company that went bankrupt and they had to auction everything so they wouldn't be seized

fallow gyro
#

I'm having a bit of trouble figuring out how to read the text on a sign post-double-sided signs.

A lot of online resources only show how to do this for single-sided signs, and looking at the spigot docs, it seems that a lot of these old methods have since been depreciated.

What I would like to do:

When an on player interact event is fired, get the sign they clicked, and read the lines from the side of the sign they clicked on. I would also like to be able to cancel the sign edit event so that the player is not able to edit the sign, even if it isn't waxed.

Would someone be able to show me how this is done?

Thanks!

buoyant viper
fallow gyro
sterile token
buoyant viper
#

yeah

sterile token
#

okay, so yeah. I would recommend a vps in that case because you can have all together and pay what you really need

#

Let say you can be really good with a 16gb vps

tender shard
#

I have setup a versioncatalog in settins.gradle.kts called "libs", which I can access just fine in all my build.gradle.kts files, except inside buildSrc - is there anything special about buildSrc? What can I do to be able to access it there too?

buoyant viper
tender shard
#

the IO at contabo is horrible

#

or at least it was 2 years ago when I tried them out

steady pelican
#

Read the reviews

sterile token
tender shard
#

does anyone here have a contabo server? if so you could they please run yabs.sh ?

sterile token
tender shard
sterile token
#

not found mfalex, its it correct?

tender shard
#

dont you have curl installed?

#

then use wget
wget -qO- yabs.sh | bash

sterile token
#

curl is installed

tender shard
#

what does it not find then?

sterile token
#

and copy-paste your command

pearl ice
#

don't copy paste the link

tender shard
pearl ice
#

only the curl -sL yabs.sh | bash part

tender shard
#

oooh

#

he copeid the whole thing lol

steady pelican
#

💀

tender shard
#

yeah just copy this:

#
curl -sL yabs.sh | bash
steady pelican
#

i'm checking my vps lol (not on contabo but for fun)

sterile token
#

test is running, once is done ill let you know here

#

sorry for copy-pasting what ever

tender shard
#

thx! It'll take like 10 minutes or so

#

and then it gives you a link with the results

sterile token
tender shard
#

huuuh I thought hetzenr only gives you 1gbit/s?

steady pelican
#

on my end, it's running

young knoll
steady pelican
#

that is in send speed, right ?

#

so i'm getting fucked in IPv4, let's go

#

on one hand, i'm getting 32 ms, and on the other end 1 ms

dry hazel
tender shard
chrome beacon
#

Unused capacity is wasted uwu

umbral ridge
umbral ridge
#

what happened to wednesday only

tender shard
#

I must have forgotten which day it is today

umbral ridge
#

lol

sterile token
#

there you have

tender shard
sterile token
#

Just would complain about the location them the benchmarks are okay

#

Because the location fucks you with the ping

umbral ridge
#

nice Nuremberg

#

I was there

#

beautiful city

tender shard
sterile token
#

mfalex may i ask you about your opinion with the cpu Xeon E5-2697A v4. Its the cpu that contains the servers i bought in the auction

tender shard
#

i dont know anything about hardware

sterile token
upper hazel
#

the recipe in the code is correct but different in the game

tender shard
#

what?

dry hazel
#

not a high core clock, loads of cores, old (broadwell)

umbral ridge
#

Xeon E5-2697A can still be good

#

since it's worth around $3000, the processor itself

#

and xeon series are specifically made for servers

#

if it wasn't good, companies wouldnt make servers with it

dry hazel
umbral ridge
#

probably not

#

xeons are expensive

#

they're not like regular processors

dry hazel
dry hazel
umbral ridge
#

companies still use xeons for minecraft even in 2024

#

not sure if its bad or good but i guess if they use it it must be good

dry hazel
dry hazel
tranquil jacinth
#

soing this in a ubuntu termal, and i cant figure out how to make the start script

#

also using screen

sterile token
#

Lets move there and i can give u a hand

tranquil jacinth
#

oh sorry

sterile token
wet breach
#

its not like they stopped working

umbral ridge
#

don't tell me that frostalf

#

tell the other

sterile token
echo basalt
#

we talking bout contabo ye?

wet breach
#

other then core count which isn't a major factor really, the only real difference between old server cpu's and modern ones is mostly going to be instruction sets

#

its not like a 4ghz cpu that is dubbed outdated is slower then a 4ghz cpu today. They both run at the same speed and adding cores doesn't add cumulatively the processing speed

#

what those cores allow you to do is run more things at once, not that they are somehow faster 😛

wet breach
#

would never recommend them to anyone

echo basalt
#

yeah they sucky suck

tender shard
#

when you want it to compile but are too lazy to implement that class

sterile token
sterile token
#

In my case i prefer reliable but they dont sell vps, jusrt dedicated servers

wet breach
#

they are not reliable

#

far from it

#

if you want to use them go for it, its your experience and or money

sterile token
echo basalt
#

local circus is on town

#

should I go visit

#

it's late as shit tho

sterile token
sterile token
echo basalt
#

yeah 8pm

#

I've been sleeping at 6pm

#

for some reason I'm just not tired today

wet breach
#

hmmm

#

how are your circuses?

#

probably better then the ones we have in the US these days

echo basalt
#

like 8 trucks pulling up to an empty dirt lot

#

setting up a couple tents

#

seats are 15 bucks

sterile token
echo basalt
#

if you just want to stand and watch it's like 12

#

I saw a weird circus video up north where they used animatronics n shit

wet breach
#

do they at least have clowns?

sterile token
#

but i wouldnt go to anyone anymore haha

#

last one was like 7y and it was liked i described

echo basalt
#

there was cirque du soleil like 2 hours away during new years

sterile token
#

the most interesting was the globe where motorbikes run inside. Then borring and borring

echo basalt
#

they were doing a show in lisbon

#

seats were like 50 bucks

wet breach
#

otherwise I will just go visit six flags

echo basalt
#

it's like the top one in the world

#

company was valued at a billion a solid decade ago

#

they use their own proprietary acrobatics stuff

#

was a crazy production

#

there were like 3 employees that died tho

wet breach
echo basalt
#

in the span of 30+ years it's acceptable

wet breach
#

even if it wasn't, that line of work you can't expect someone to not get hurt at some point

echo basalt
#

yeah

#

one was an acrobat that slipped

#

another was some kind of winch that slipped or dettached

wet breach
#

makes sense on the winch part

#

them cables and hooks fly pretty fast when they detach XD

echo basalt
#

all the deaths were pretty much blunt force trauma

echo basalt
#

but no spectator managed to see the person die

#

lady just slipped and hit the floor hard

orchid gazelle
echo basalt
#

contabo has lots of ram to account for the shitty cpu perf

orchid gazelle
#

They seem to be extremely shared and very low end hardware

#

That's why they are cheap as fuck

echo basalt
#

it's like "no other vps provider offers 60gb ram for like 30 bucks a month" and you realize they just have these shitty 4th gen cpus with like 2tb ram crammed in

sterile token
#

yeah thats why they cheap, they are VPs, not dedicated servers

echo basalt
#

shared between 19 ppl

orchid gazelle
echo basalt
#

damn I'm starting to regret having ordered food

sterile token
#

if you wanna fully perfomance buy OVH rise tier and then you forget about everything

echo basalt
#

was looking really fit at the gym today woeisme gonna guilt myself for eating like shit all night

orchid gazelle
#

Virtualization is not the issue. The issue is 20000 people using the same cpu core bc it is allocated as shit and very bad hardware

sterile token
#

Something clown, but is google free tier better than Contabo? 🤔

orchid gazelle
#

A good KVM root has like a performance diff of 5% to dedicated max

sterile token
orchid gazelle
#

Uhh yes

orchid gazelle
#

2TB of like what, 2100Mhz RAM? 4th gen intel xeon cpu's? Lmao

#

I mostly know about consumer hardware tho, not that much about Enterprise

echo basalt
#

actually 4th gen xeon is 2023 stuff

orchid gazelle
#

Well shit

#

Then first gen

sterile token
# orchid gazelle With the things a full contabo dedi has?

no no, i mean i bought 2 servers really chap for 500 usd each one in an auction it was like winning or shooting. But i offered without scaring and i winned because they had just some rams modules brokened and no 9 volts battery.

Each machine has a double Xeon E5-2697A, 128gb ddr3 2666Mhz and 2tb sdd

echo basalt
orchid gazelle
#

You gotta notice that Intel Xeon CPUs are a catastroph for things like mc servers

orchid gazelle
#

General

echo basalt
#

I've run servers out of 2288g's

#

they're not AWFUL

#

they do the job

sterile token
#

oh okay, have you read my message on top? Not wondering be rude, just know how good the machines i have are

echo basalt
#

but you can't extract as much as you can from like a 5950x

sterile token
sterile token
orchid gazelle
orchid gazelle
sterile token
orchid gazelle
#

I guess it's alright

echo basalt
#

technically 2 gens old now

orchid gazelle
#

Could have gotten better hardware tbh for that money tho

sterile token
#

oh right, because i seem worst machines than mines and they ask more than 1800k dollars and being really generous ofc

orchid gazelle
#

Ryzen 5000 is not a server cpu series

sterile token
#

Server series of amd are Threadreapper and EPYC

echo basalt
#

threadripper is pro-sumer

orchid gazelle
#

latest gen epyc cpus are great in my eyes

sterile token
echo basalt
#

iirc it's just a ryzen cpu but with like 10x the cores

#

and less single-core performance because power limits

orchid gazelle
#

Im about to order a KVM root with no oversharing, 48GB of DDR4 mem and Turboed Epyc 7543p cpus like 12 cores

#

For 25€

echo basalt
orchid gazelle
#

Ye

sterile token
#

lmaoo, where

orchid gazelle
#

Mchost

echo basalt
#

For example if you're compiling linux or android often you'd want to get a pc with the latest threadripper and like 1tb of ram

sterile token
#

can you link it please i cant find it

echo basalt
#

and shell out 20k

orchid gazelle
#

Just google mchost

echo basalt
#

as long as you make mad money

sterile token
echo basalt
#

wish I was in uruguay rn

orchid gazelle
echo basalt
#

got a cute chick across the border

sterile token
orchid gazelle
#

I mean they are German

#

And only host in Germany btw.

sterile token
#

dedicated servers right? or just vps

orchid gazelle
#

Neither

#

KVM roots

sterile token
#

spanish i dont have that knownledge haha

#

just know vps and dedicated servers

#

is that something like Kubernates?

orchid gazelle
#

Proxmoxed KVMs

#

Dedis are shared but not overshared

sterile token
orchid gazelle
#

Yes I know

#

I meant "their dedis are shared but not overshared"

#

Well at least they promised me after I asked them lol

wet breach
sterile token
#

no one fucks you

orchid gazelle
orchid gazelle
wet breach
#

in an ideal setting, you would use a bare metal virtualization setup and allocation VM's appropriately in regards to the hardware it has available

orchid gazelle
#

lol

wet breach
#

however, if you don't use a bare metal virtualization setup, already that is a performance hit

orchid gazelle
wet breach
#

and then if you over allocate resources to the extreme like they do, then most definitely

orchid gazelle
#

with KVM ofc

#

ofc dedicated is better, but is it worth the 200% price uplift?

#

for me, the answer is no

wet breach
#

for those that are starting out and have really no experience at all, most likely not

sterile token
#

But i will tell you something crappy from uruguay, since here internet security doesnt exists. Just starting from that our internet fiber optic connection is part of just one company provider. Meaning that if you want fiber optic internet must use that provider and then on top of it put your ISP (in case you want one).

Along that, our network is like a fucking locahost with a simple scanning of their ISP you can fully get all the ips of each router and so them, each device address. Something extra, the modems they give you dont have admin user they dont exists on them. So then, you cant open ports meaning you cant have servers at home.

orchid gazelle
#

I would also prefer my own configs and so on, but the price uplift is not worth for me

wet breach
orchid gazelle
#

be glad that you guys have fiber optic at all

#

lmao

wet breach
orchid gazelle
sterile token
# orchid gazelle be glad that you guys have fiber optic at all

And something extra, until a while ago it was a monopoly. No one else had the right to bring internet through fibre optics other than that company. Now, anyone can do it, but as we are 3.5 million inhabitants, who is going to invest millions of dollars in bringing a different and independent fibre optic provider. As simple as basic mathematics, you don't get your investment back at any time and it's not profitable either.

wet breach
orchid gazelle
#

you can just not use it

wet breach
#

Well, I don't remember them allowing you full control of the VM

#

they could have changed since I last reviewed them

orchid gazelle
#

you can even go into the bootloader

wet breach
#

well bootloader is pointless on a VM anyways

#

not like you are going to be able to do much there

orchid gazelle
#

you could just flash your own ISO on it that way

#

so yeah, the system itself is full control

sterile token
#

i agree with frost, there is not most hateable thing that a providing that cant be managed via CLi instead using their shity panels. Most of time you lost lot of time trying to find the option in the fucking panel

wet breach
#

seems they have changed and I wonder if its because of people like myself who pointed out how a VPS provider was superior if you were charging based off ram and only allowed the usage of a web panel

wet breach
#

its like some years ago. I tested them out two times

#

when they were first getting started

orchid gazelle
#

huh?

#

in 2019, it was completely fine. I tested it there

#

completely normal root access

wet breach
orchid gazelle
#

possible

wet breach
#

looking at their page now, this isn't what I remembered lmao

#

unless they were bought out

orchid gazelle
#

they were always the same 🤷‍♂️

wet breach
#

well you said 2019

#

mchost has been around for far longer

halcyon hemlock
#

ive been here longer than mc host

orchid gazelle
#

well idk if you tested before that

#

but I don't think they got bought

wet breach
#

so either I am mistaken or they were bought out, in either case it seems they allow what you should as a hosting provider 😛

wet breach
orchid gazelle
#

well than it could be, idk

wet breach
#

otherwise how can I recommend?

orchid gazelle
wet breach
#

you can't recommend one provider over another if you don't actually have experience with the provider you are comparing

orchid gazelle
#

yeah that's true

halcyon hemlock
#



                                            
 .d8888b.  888                       888    
d88P  Y88b 888                       888    
Y88b.      888                       888    This is a browser feature intended for 
 "Y888b.   888888  .d88b.  88888b.   888    developers. If someone told you to copy-paste 
    "Y88b. 888    d88""88b 888 "88b  888    something here to enable an Instagram 
      "888 888    888  888 888  888  Y8P    feature or "hack" someone's account, 
Y88b  d88P Y88b.  Y88..88P 888 d88P         it is a scam and will give them access 
 "Y8888P"   "Y888  "Y88P"  88888P"   888    to your Instagram account.
                           888              
                           888              
                           888              

See https://www.facebook.com/selfxss for more information.
#

💀

wet breach
#

years ago I would test all kinds of providers. Lately I don't really do that as much as I used to. But from my experience of back then, many people some successful others not so much were getting away with providing hosting in where they limited you to a web panel. I have tried a few of these and from my experience they sucked but it made sense why they restricted you this way and it was because they were charging by the ram allocation

#

the only providers in regards to hosting that I see the usage of web panel only being acceptable

#

were shared web hosting providers

orchid gazelle
#

...and straight up gameservers

wet breach
#

the only gameservers which I wouldn't call it a game server per-say that I am familiar with in where being provided a panel was probably the best solution was them ventrilo and teamspeak providers

#

couldn't really see those being done any other way lol

halcyon hemlock
#

fortnite uses aws

#

crazy right

orchid gazelle
#

everything huge uses aws

halcyon hemlock
#

i agree

orchid gazelle
#

well that's a sign for that it is not huge

halcyon hemlock
#

yeah

#

there you go

wet breach
# halcyon hemlock fortnite uses aws

and they pay dearly for this when stuff hits the fan because there is absolutely nothing the devs or anyone else can do except wait on amazon to fix something

#

this is true with google as well

#

and between them both they have actually lost customers over such things lmao

#

but then again, those customers were not smart enough to realize centralizing everything to a single point was probably not the best idea either

halcyon hemlock
#

never seen fortnite go down

halcyon hemlock
wet breach
#

it will when Amazon encounters another significant problem that affects their API and servers

tender shard
#

generators love drinking diesel

wet breach
#

etc

#

discord is a prime example in what happens

halcyon hemlock
wet breach
#

discord exclusively uses google's api's

tender shard
#

fancy! I prefer regular gasoline

wet breach
#

but if any of the google api stuff or services go down, so does discord

orchid gazelle
#

if cloudflare dies, a lot of shit dies

wet breach
#

and this has happened a few times already

halcyon hemlock
#

what happens if the lavalamp explod

wet breach
#

it burns you

shadow night
#

Then all random is 0?

halcyon hemlock
shadow night
#

Lol

sterile token
#

to conclude, were can you host with decent machines and prize too, because ovh is not a good option for those starters

tender shard
#

what's wrong with ovh?

tender shard
shadow night
#

Lol

sterile token
vocal cloud
#

They could pay someone minimum wage to dance in front of the camera

shadow night
#

Lmao

sterile token
#

Ask a latin america to start a buiness hosting on OVh, they will take you to jail as steal crime lmao

vocal cloud
#

OVH is for illegal game servers lmfao

sterile token
vocal cloud
#

Can't host a game server offshore. Ping matters

#

Quebec doesn't care about legal threats from other countries

#

Extremely based

sterile token
#

Quebec whats that? its sound to me

vocal cloud
#

Quebec is the French province in Canada

tender shard
vocal cloud
#

They are super based because they are super patriotic and hate everyone else. Legal threats don't even bother them

sterile token
shadow night
#

Why did I do that weird thing with the quote sign

tender shard
#

I am myself

shadow night
shadow night
sterile token
# vocal cloud In theory yes

thanks for that good ifno, i ididnt know Quebec was liked that. Now i will have to move muy bullets offshare machines to Queuebec

shadow night
#

You are mfnalex

tender shard
sterile token
tender shard
#

yeah where's the dough?

shadow night
sterile token
tender shard
#

duda?

river oracle
#

duda

shadow night
#

dude

vocal cloud
shadow night
vocal cloud
#

Since they can take legal action at you.

sterile token
tender shard
vocal cloud
#

The game servers that I know are hosted on OVH in Quebec are still up and the devs anonymous

sterile token
#

thats the concept of bullets offshare machins using them anonymous and doing illegal acts. What a good service

vocal cloud
#

Yeah, except you can get good ping in America and Europe

sterile token
vocal cloud
#

Probably because you have to make sure to be anonymous because they will sue your ass

#

Personally I like digital ocean droplets

#

Although I don't do illegal stuff LoL

sterile token
#

The most illegal thing ive done, is tracked a whole vps. Because on their netowkr they used a weird plugman which allowed you to download remote plugins and execute them. So i just compiled a plugin with some sort of instruction for downloading a malware and sending everything to a self bullet offshare machine to thailand

#

And I did it solely for the purpose of learning about malware and remote communication. Because the plugin simply forced certain processes to shut down and exploited vulnerabilities to gain super user permissions.

Once that was done, what it did was to inject itself into the system as any spywhere would do. And open a websocket connection very complicated to trace to a bullet offshare machine in thailand.

On that machine it would send me info on authentication logins, credential changes, general logging. And even access to a vps own terminal by using what is reverse shell.

lofty badge
#

hi guys

#

how i can make npc with menu on right click?

halcyon hemlock
#

what

lofty badge
#

1.16.5, spigot

halcyon hemlock
#

you want to open menu when you click on npc?

lofty badge
#

yes

halcyon hemlock
#

ok

#

did you spawn the npc?

lofty badge
#

no.. 😅

#

can you help?

halcyon hemlock
#

In this video, you will learn how to create a custom event for NPCs! Not using Citizens or ProtocalLib API. You will learn how those APIs do it! This video shows how to right-click an NPC and perform some sort of event. Whether it's opening a GUI or sending a message, you can do whatever you would like!

Patreon:
https://www.patreon.com/codedre...

▶ Play video
lofty badge
#

thanks

short pilot
#

Hey guys, with the LuckPerms API, I'm removing players from groups like this

Group group;
            if(player.hasPermission("group.vassal")) {
                group = api.getGroupManager().getGroup("vassal");
            } else if(player.hasPermission("group.duke")) {
                group = api.getGroupManager().getGroup("duke");
            } else if(player.hasPermission("group.lord")) {
                group = api.getGroupManager().getGroup("lord");
            } else {
                group = null;
            }

It works, but when I add these groups to a track it seems to fail. Anyone know how to fix this?

tender shard
#

wdym "add them to a track"?

short pilot
#

Basically permission nodes and weights

rare rover
#

is there any better way of doing this? I doubt there is but:

    @JvmStatic
    fun tinyString(string: String): String {
        val builder = StringBuilder()

        for (char in string) {
            builder.append(TINY_LETTERS[char.lowercaseChar()])
        }

        return builder.toString()
    }```
short pilot
#

like default -> group1 -> group2 -> admin

rare rover
#

just converts a normal letter into a tiny one aka 'z' to 'ᴢ'

#

okay discord doesn't let me use it

#

there

young knoll
#

Tracks are like

#

A list of groups you can promote someone through

tardy delta
#
@JvmStatic
fun tinyString(str: String) = buildString {
  for (char in str) {
    append(TINY_LETTERS[char.lowercaseChar()])
  }
}```
if you want it clean
rare rover
#

i didn't know there was an inline for buildString

#

ty

lost matrix
# rare rover

You can probably have a tiny improvement by simply adding an offset to your chars instead of getting it from a map.

rare rover
#

wdym by offset?

young knoll
#

Sadly the tiny characters aren’t all together codepoint wise

#

Because heck

lost matrix
#

rubbish

rare rover
#

oh just use an array

#

is what your saying?

lost matrix
dire saffron
#

Looking for a dev to make a bungee plugin. Redirects geyser players to one server and Java to another. Dm me if you can help

rare rover
tardy delta
#

just use those chars as index to an array and leave all unused slots on some invalid value, no more map lookups

lost matrix
rare rover
#

ah okay

buoyant viper
#

so i was like wtf just use .toLowerCase()

lost matrix
#

But a map is cleaner at that point

tardy delta
#

wdym offset array, idx 0 = lowest used char?

#

i believe we can waste like 20 bytes in 2024

young knoll
#

I think I made a proper array for it

#

Trying to find my code

tardy delta
#

fuck java chars are two bytes, in vga they are one

lost matrix
tardy delta
#

well ye obviously, thats what i said

lost matrix
#

just use those chars as index to an array and leave all unused slots on some invalid value, no more map lookups
This implies you would have an array with a ton of empty slots

rare rover
#

okay

#

lets see if this works

#

nope

#

oof

#

oh the index is somehow at -10

#

nice

young knoll
#

Anyway yeah I just made an array and then used the character value to access it

rare rover
#

i mean i just used a CharArray

#

idk why the index is -10 though

#

one sec

#

i tried this idk if this is right or not

#

but i is -10 ig so

tardy delta
#

what does that toTinyChar extension do?

tardy delta
#

wrong a

rare rover
#

hmm, that might be the issue

#

yeah

#

not sure why i put the tiny a there

#

actually big brain

#

nah that didn't change the index

tender shard
#

can't you just do offset = tinyA - normalA and then add that offset to every char you want to make tiny

rare rover
#

shoot

young knoll
#

Like I said

#

The tiny char codepoints are not sequential

tender shard
#

ah

#

why not just use a string

#

to store the letters

#

sth like this should do

val ABC = "abcdefghijklmnopqrstuvwxyz"
val abc = "ᴀʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴᴏᴘǫʀsᴛᴜᴠᴡxʏᴢ"

fun Char.tiny() {
  return if (this in ABC) {
    abc[ABC.indexOf(this)]
  } else { this }
}

fun String.tiny() {
  return this.map { it.tiny() }.joinToString("")
}
shadow night
#

If my string is "\n", is it 2 or 1 char long

tender shard
#

1

shadow night
#

Hmmm

tender shard
#

\n is just the char 10

short pilot
#

How should you properly remove a user from a luckperms group with the API?

tender shard
vapid grove
#

Is there a way to check if a player has started breaking a block (not the BlockBreakEvent)

tender shard
vapid grove
tender shard
dry forum
#

how would i go about moving an armorstand based on where its punched? ex, the lower down the higher it goes

tender shard
#

you'd get the armorstand's bounding box, then you can get the center. Now you can get the vector between the hit location and the center

dry forum
#

i cant find a way to get the hit location

tender shard
#

PlayerInteractAtEntityEvent

#

but I am not sure if that's called for armorstands

dry forum
#

ok thanks

tender shard
#

you'll have to check whether it even gets called

#

if it's not called, you can just do a raytrace to get the exact hit position

#

does anyone know a java/kotlin library to generate properly formatted markdown tables?

worldly ingot
tender shard
#

ofc I could just print out the values like this

| col1 | col2 | col3 |
|-|-|-|
| mfnalex | 27 | whatever |

and it'd look correct, but I'd like to already have a proper formatted markdown source code

young knoll
#

Isn’t the entity interact event for right clicks

#

Or does it fire for both

tender shard
worldly ingot
#

Serves a different purpose is all

#

At is the same as the regular interact event, it just gives you a Vector too

river oracle
#

downside is it uses jitpack

tender shard
#

RIP

#

it's on jitpack

river oracle
#

looks like its no longer maintained so if it don't work RIP

tender shard
#

shouldnt it be compileOnly or implementation instead of compile?

river oracle
#

yeah

tender shard
#

i don't think there is any "compile" scope

river oracle
#

you'll want to use implementation

young knoll
#

compile was Ye olde scope

worldly ingot
#

Yeah, compile was like Gradle 6 or something :p

#

Replaced by compileOnly

tender shard
#

im still looking for a good gradle book

worldly ingot
#

Good luck

#

By the time a Gradle book gets published, all the information is inaccurate

young knoll
#

Lol

tender shard
#

this forces me to do libs("acf-bukkit") instead of libs.acf.bukkit

short pilot
#

Hey guys, if I'm making subcommands by using a switch statement after a prefix

/k (subcommand)

How can I add these to the /help menu?

shadow night
#

By manually doing so ig?

worldly ingot
#

You kind of can't? Depends on what you want

short pilot
#

hmm ok

#

how about this

worldly ingot
#

You can set your command's usage in the plugin.yml to something that placeholds your arguments, e.g. usage: /<command> <myarg>

#

Or you can register your own help topic

short pilot
#

when you tab commands you can have autocomplete; is it possible to make the subcommands show up for those?

#

like

After that there's options like claim, leave, create, etc

worldly ingot
#

Yes. You'll need to implement and register TabCompleter

short pilot
#

similar to what you see when you do /gamemode

shadow night
worldly ingot
#

If you wrote your command in the main class, you can just override onTabComplete(). If you have a separate class with a CommandExecutor implementation, then you can also implement TabCompleter, or replace CommandExecutor with TabExecutor and override that same method

#

Command#setExecutor() will automatically assign the TabCompleter for you, as long as the type you register is also an instance of it :p

tender shard
#

I'll just throw ACF into this chat - avoids all this hassle and does all the tabcomplete, generating help menus, parsing arguments etc automatically

#

yikes why don't they use TimeUnit or sth instead

river oracle
#

^ agree +1
Lamp and Cloud are also great for this

tender shard
#

I shall remind silent about my opinion about cloud

tender shard
#

how can I declare that the constructor of a class throws sth?

river oracle
#
class ModuleLoader @Throws(InvalidModuleException::class) constructor(val file: file) {

}

^ try this

shadow night
#

Holy god of kotlin

tender shard
#

yep thx, that works

young knoll
#

I thought you didn’t know Kotlin y2k

river oracle
#

idk why kotlin does it like this its weirdly more verbose than java

tender shard
#

yeah some things in kotlin are weird

river oracle