#server-plugins-read-only

1 messages · Page 101 of 1

bold willow
#

Is there any way to make block particles infinite? They disappear after some time

opaque cape
#

Fair enough, I didnt mean it in an insulting way and I apologize if it came off as such

#

But alas, No Claude doesnt need to store the entirety of the codebase in its context window, It only needs to hold what you're asking it, It'll just go search the files for what it needs to know

#

I personally use Claude Sonnet 4.5 for this

#

But I must stress, DO NOT LET IT ACTUALLY WRITE THE CODE
Make sure to understand what its actually asking you to do

#

Unless you want to end up in a Spaghetti Kingdom

wintry dawn
#

probably not using AI either Hypixel_TongueOut

opaque cape
#

I come from a land down under a JS/C++/Game Maker Language background

strong musk
#

im doing my stuff in C right now, for the funsies

cold drift
wintry dawn
#

If you have access to both servers, using symmetric encryption would probably be faster than using asymmetric encryption like private and public keys

analog patrol
wintry dawn
analog patrol
#

Their fault

cold drift
opaque cape
#

I've been pinged on extremely nonsense approaches the AI has taken to way overcomplicate stuff

cold drift
stark parcel
#

Hello, how can I prevent a player from picking up thing that are on the ground ? I tried the InteractivelyPickupItemEvent, the DropItemEvent, and even tried removing the PickupItemComponent from the player but couldn't achieve it

cold drift
#

You need to correctly design before, then after you figured what goes where you can pick a road and then you will see ai will not create a skyscraper when you ask it to build you a small window

strong musk
#

idk, I just write stuff by hand, I find that letting ai do really anything leads to more pain than its worth

wintry dawn
opaque cape
strong musk
wintry dawn
fickle pecan
#

beep boop

wintry dawn
#

must've been the wind

cold drift
opaque cape
#

Currently the Protocol works like this

  1. User on Server A goes through the Portal
  2. We serialize their inventory and send it to Server B
  3. Server B holds the serialized data and the players uuid in a Map
  4. Player is jumped to Server B
  5. Server B finds the Players inventory in the Map in the PlayerConnectedEvent
  6. Server B applies the Players inventory to the Player
  7. Server B Player now has their inventory from Server A
  8. If the Player logs out and then DIRECTLY CONNECTS BACK to Server A, Then we check if Server A is the Main Server, If it is since they didnt Server Jump back through the Portal, WE automatically kick them back to Server B

Currently this is the implementation for preventing Inventory Fraud
There's also a path I'm planning to take where instead of kicking back to Server B, We will just grab the Inventory from Server B if they didnt Server Jump back
If they server jump back, we basically go from Step 1 through Step 7 to sync the Inventory back to Server A

dusty venture
cursive gorge
#

If I am trying to make commands and then i get this message
"The wrong number of required argument was specified. Expected: 0, actual 1:"

I get this is a problem with arguments but I can't find what I need to change in order to fix it.
Anyone have any advice to give?

cold drift
wintry dawn
opaque cape
#

So you can take your inventory between servers

dusty venture
opaque cape
#

One such usecase we have is to have a Main Server World, and a PVP Server World 🙂

cold drift
opaque cape
opaque cape
wintry dawn
opaque cape
wintry dawn
sage mango
#

Hey does anyone if there is any fix to this Scoreboard glitch? I have a minigame in which there is a scoreboard but when players leave to lobby the scoreboard is still there, ```java
player.getHudManager().resetHud(ref);

opaque cape
cold drift
opaque cape
#

There is a plan to publish, But not any time soon, I want to ensure this whole protocl works flawlessly without much issue for Inventory Fraud

wintry dawn
static forge
#

Hey everyone! I have a question, I'm new to the asset editor! I moved my model and texture, but I have to reboot the server when I add it because I can't find it! Is that normal?

opaque cape
wintry dawn
# cold drift docker all the way baby

That could work too yea, would be especially secure for the servver that is on that machine since they just talk to docker via the bridge without any external connections

opaque cape
#

Hytale is already handling storage of the Inventories, Why do we need an additional database

#

We can grab, Serialize and send it off

cold drift
rigid girder
#

between last update and this one the return variable of getRespawnPosition() has changed to a CompleteableFuture<Transform>. how do i just get the transform out of it safely?

opaque cape
past flame
#

can someone please help me out for a moment and inv me, so I can send screenshots?

opaque cape
#

And requires minimal additional setup by the Users who will one day install the mod

cold drift
cold drift
opaque cape
#

Treat your end users like they're just using computers for the first time

Right now my mod is literally just drag and drop into the server and off to the races 😛

#

I guess that's technically true xD

cold drift
#

more like ssh

#

its reliable

opaque cape
#

I dont think they would do that

woeful sapphire
#

seems like the chat system hasn’t been thought out that well. especially when multiple plugins want to adjust formatting. it just overwrites based on priority 🫤

opaque cape
#

They certianly wouldnt force you to reset thatd be dumb

dusty venture
#

quick question: do you currently just encrypt the inventory data and then decrypt it at the other server and nothing else?

mild sparrow
#

a little birdie told me cooldowns were slower

opaque cape
dense gull
#

yurp

dusty venture
#

just the inventory object?

opaque cape
raw roost
#

Anyone having issues with the gap node for props?

sharp island
opaque cape
worthy marten
#

Hey I know AddPlayerToWorldEvent fires when a player joins a world, but is there an equivalent that fires under normal circumstances when a player leaves a world?

My understanding is that DrainPlayerFromWorldEvent only fires when a player is forced off rather than through teleports/portals.

Or does drain player fire in that case too?

cold drift
#

@opaque cape i'm wondering why not query directly the server

the server who receive the player will query the original server from where the player is

this mimicks a db kinda, if you see what i mean
wouldn't that be much easier to setup ?

narrow jay
#

I was told to maybe ask in here - I think I was running Better Maps and Explorer Map on my dedicated server. After the update the Map doesn't work at all. I guessed maybe a mod issue because of the update so I removed them. restarted of course but still no main map. Is there a way to reset something to get the main map working??

opaque cape
# cold drift <@147284801647411200> i'm wondering why not query directly the server the serv...

The reasoning here is, That maybe you dont want to grab the inventory from the Main Server while you're on the Sub Server

EG: In the scenario where you join a PVP Server with your Inventory, You go around get a bunch of stuff, You'll want to come back to the Main World with that?

If I dc and then later reconnect to go back to the PVP Server, I dont want all that to be overwritten with the Main Server inventory

#

I do see what you mean for the record

dusty venture
#

yea alright; you might wanna add a timestamp/transactionid so people cant intercept packets and resend them (idk how far you've thought it out)

opaque cape
#

Something to think about yeah

#

Timestamp and Transaction ID could be part of the Encrypted Data, So they cant spoof it

hollow lava
#

OKAY i found if u copy/paste a world into server/instances and remove some of the world data like the .bak files and create an instance.bson (config.json with some changes) u can effectively create an instance from a world

opaque cape
#

Cause theyd have to know the decryption key to be able to spoof it

#

And then I just keep a list of already spent Timestamps/Transaction IDs

#

Thats actually a good idea I didnt think about, Gonna make a git issue for that

dusty venture
#

you do have to keep both keys secret if you use asymmetric in that case; but symmetric is probably better as long as users have access to both the servers that will have transfers

opaque cape
#

What is a recommended Symmetric Encryption? in 2026

halcyon ether
#

Hello, does anyone know if it is possible to change the font in the UI?

dapper plover
#

@opaque cape haha friend asked me to code a mod like this, now i just read what you have wrote 🔥

dusty venture
opaque cape
dapper plover
stark parcel
opaque cape
cold drift
dapper plover
dusty venture
opaque cape
strong musk
opaque cape
strong musk
opaque cape
#

If you Directly Connect back to the Main Server, Then currently we kick you back to your Last Connected Server
I will be adding a toggle to instead just Sync your inventory from the Last Connected Server though

glacial seal
#

Has anyone had any success rendering thumbnails of the NPCs? I'm struggling to get the UV mapping and shape right.

opaque cape
#

And there could be future enhancements to always contact the main server from any sub server to find out if their last connected server is different and update the inventory that way (Or kick back)

sage mango
#

does anyone know of any plugin that will allow me to teleport a player back to spawn if they fall into the void

opaque cape
#

That sounds fairly simple to make, You should give it a go!

dapper plover
#

So glad that someone else is already doing that portal across servers thing, i can totally imagine how much effort that is.

dapper plover
#

yeah just like my custom portal thing

opaque cape
#

And then it quickly became a lot more, I can see why the existing server hop mods didnt do the inventory sync xD

dusty venture
#

I dont even think the plugin is that complex; its just all the considerations around the transfer and all the http stuff is annoying

opaque cape
#

Ironically this is my very first mod ever

dapper plover
#

its still an idea, some commands to tp to different worlds (on same server), now i manually added custom portal items, next step is coding an actual plugin

dapper plover
opaque cape
#

Thats when adhd mode activates

#

Neurodivergent Rangers, UNITE!

dusty venture
#

all my ideas start relatively simple and before ive even done it i go oh i could add this and that and that and that and that; wait lets just make it work first

dapper plover
dusty venture
#

and then somewhere along the way i usually lose interest or something new pops up that is more interesting and I jump ship

dapper plover
#

true

static forge
#

Does anyone have documentation on how to create an item in JSON? To avoid going through the publisher?

dapper plover
#

i have strikoo

opaque cape
#

It helps that a lot of the custom functionality you may want to do, Is already natively supported by the server in some form or another

dusty venture
#

honestly rn am at a point where I have to do more UI stuff after fighting with ui for 5 days; i mean what i have to do is pretty simple but I just hate ui as is rn. the ui files suck

opaque cape
#

Oh yeah I spent like 3 hours getting the UI to actually work yesterday

#

That was really annoying xD

dusty venture
#

I tried opening my page alongside ingame ui; cost me 5 days to find out its impossible

opaque cape
#

Claude didnt know how to write one also

royal mural
#

took me like 2 hours to format correctly a ui with our server roadmap and some image buttons

opaque cape
#

I had to go find examples, And in the end of Just modified the example by hand

dusty venture
#

good thing theyre moving to noesis at some point

opaque cape
dusty venture
#

hmm

opaque cape
#

There might be though actually tbf, Claude was just being stupid

dusty venture
#

the entire asset zip is filled with .ui files

#

(the entire game ui is probably in there)

royal mural
fading light
#

where tf do i put my prefabs on my server, so annoying

dusty venture
#

I just yoinked some of the ingame ui and modified it a little bit but now I have to actually make something myself and I am so not looking forward to that

#

maybe I should just go to bed lol

sage mango
#

Hello, I am having trouble with a scoreboard bug. When players leave my minigame the scoreboard follows them to hub idk why here is my current code I have. ```@Override
public void apply() {
player.getHudManager().setCustomHud(playerRef, customHud);
}

@Override
public void detach() {
player.getHudManager().resetHud(playerRef);
}```

heavy willow
#

is anyone tackeling the ability to "crawl" through 1x1 tunnels for hidden rooms yet?

royal mural
sage mango
royal mural
#

ah thats the standard, nothing, i mixed

sage mango
#

your okay 🙂

#

yeah idk if its just a bug from hytale idk....

native pike
#

Can I achieve in Hytale the same level of creativity that I had coding Minecraft plugins?

sage mango
summer sapphire
#

Agreed, you can achieve even more than Minecraft plugins, but it's a lot harder to figure out how

native pike
#

im not talking about bugs but just overall potential

dapper plover
fickle pecan
summer sapphire
#

They wrote it to be moddable, Minecraft wasn't written to be moddable

sage mango
#

Asking again here: Hello, I am having trouble with a scoreboard bug. When players leave my minigame the scoreboard follows them to hub idk why here is my current code I have.
@Override
public void apply() {
player.getHudManager().setCustomHud(playerRef, customHud);
}

@Override
public void detach() {
player.getHudManager().resetHud(playerRef);
}

dusty venture
#

potential kinda crazy except some stuff is just impossible for no reason (like adding dynamic tooltips to items)

#

I did that last night but I had to get up early this morning so im kinda cooked atm

fickle pecan
wheat leaf
#

Hey guys i'm having an issue:

#

'Failed to start Hytale:

ArgumentException: '0.124' cannot be greater than 0.033358335'

fickle pecan
dusty venture
#

the argumentexception disagrees

native pike
summer sapphire
carmine valley
#

Is there a hytale library to code and make plugins and your server?

summer sapphire
#

They don't support client side

fickle pecan
dusty venture
#

it is still unfinished but works pretty well already

fickle pecan
#

there is no real "client side" since in singleplayer you still play on a server, a local one that is
like other games, the client is purely meant to render stuff and send input

native pike
rigid girder
#

anyone understand the completeablefutures? i need to access the players respqwn position but it either hangs or crashes depending on what i do.

carmine valley
#

Do you have any plugins as an example because I want to make my own server?

native pike
summer sapphire
dapper plover
#

just figured out today how to create custom portals without the need to mod the client

#

...and portals are just items

eager finch
#

yo anyone know how to detect the server closing to save any persistent data i need to?

tranquil tendon
fickle pecan
eager finch
dusty venture
#

stats for the player?

tranquil tendon
eager finch
fickle pecan
dusty venture
#

lotta people dont know components on the player are autosaved

fickle pecan
fickle pecan
dusty venture
#

addComponent has persisted server restarts for iirc

#

wait no that was ensureAndGetComponent whoops

eager finch
#

oh when i do persistent componenets i most use ensureComponent in the player ready event but good to know if i dont want every player to have it

fickle pecan
fickle pecan
pale herald
#

hey there someone has a found a way of loading textures dynamically in the UI pages ?(dynamic path, without reloading textures and replacing the image and sending the image to the client)

dusty venture
#

put overwrites existing components

#

ensureandget checks if it exists and returns it if it does or creates and returns

eager finch
fickle pecan
dusty venture
#

no only the type youre putting on

#

but that destroys any saved data

#

for that component

eager finch
fickle pecan
eager finch
#

saves me a if statement to avoid overwriting an existing one

dusty venture
#

I mean tbh my version was a test to see if i could get player persistent data

#

so I just did ensureandget when opening my ui page to get the data

fickle pecan
#

weird, i had no luck with that

dusty venture
#

sa

#

im not deleting it.

fickle pecan
#

@mods give this mf a timeout!

glass isle
#

anyone having issues with the server downloader

fleet sphinx
#

Anybody here using Bazel?

spice oak
#

About UI, anyone knows how to warp elements into scrolling? I mea, when an element of certain go down and enable scrolling to avoid been out of parent container.

tulip berry
#

New update has the necromancer book thing that summons friendly skeletons. Does anyone know where I should look to find out how that works in code? Or is it all in the asset editor?

opaque cape
#

Thanks btw @dusty venture Your suggestion to use a Timestamp and Transaction ID is something I am using as part of the Validation Process

fickle pecan
#

guys please help i update my Server.jar in IDEA but now the code isnt registering its components anymore, that gradle sync buttons isnt present either what do i do

dapper plover
royal mural
#

So good I finished developing my core server API that connects website, discord and hytale and everything is already integrated 😮 i can finally breath

signal flare
#

Hey, does anyone has any idea why the client player "desyncs" with the server's? I've been trying to tp the player to another world the moment they died (or respawned) and I haven't solved why yet.

By desync I mean you can move in your client, but any interacting with the world crashes the client. Dropping items only drops them from the player's last location and rotation (that being the teleporter's component)

    public void onComponentRemoved(
            @Nonnull Ref<EntityStore> ref,
            @Nonnull DeathComponent component,
            @Nonnull Store<EntityStore> store,
            @Nonnull CommandBuffer<EntityStore> commandBuffer
    ) {
        super.onComponentRemoved(ref, component, store, commandBuffer);

        Player player = commandBuffer.getComponent(ref, Player.getComponentType());
        World targetWorld = Universe.get().getDefaultWorld();
        Teleport tp = new Teleport(targetWorld, new Vector3d(0, 150, 0), new Vector3f(0, 0,0));
        CompletableFuture.runAsync(()->{
            commandBuffer.addComponent(ref, Teleport.getComponentType(), tp);

        });
//        player.getWorld().execute(()->{
//            commandBuffer.addComponent(ref, Teleport.getComponentType(), tp);
//        });


    } ```

I put it on ComponentRemoved, because on ComponentAdded the server crashes trying to add the player to the world

Maybe it's got something to do with modifying the system dependency or group, I'm looking into it, but any help would be awesome.

Also trying to tp the player again anywhere will kick the player for "invalid teleportid"

An alternate way to tp the player when they die or respawn to another world would work too
primal cypress
#

guys do you know if there is a numerica input field for the UI?

spare kraken
#

@fluid coral How does one tie a storage container to your prefabbuilder mod, so that the mod draws resources from the chest?

glacial vale
#

any devs looking for work?

fervent lava
#

Yo! Could use some help here
I cant seem to get the player model to be set, trying to create a Race plugin and it just stalling out on me, no errors and I am using the example

commandBuffer.replaceComponent(
target,
ModelComponent.getComponentType(),
new ModelComponent(stoneModel));

loud minnow
#

So when i try to paste a prefab my server keep jumping up to 4GB/6GB used and then locking up to the point i need to restart it.. how do i fix that?

sharp pumice
#

Anyone know why this is failing to run task?

SpleefEndGameChecker.run(world);

public class SpleefEndGameChecker {

    private final World world;

    // Constructor
    public SpleefEndGameChecker(World world) {
        this.world = world;

        world.sendMessage(Message.parse("SpleefEndGameCheckerRuns0"));
    }

    /**
     * Static helper so you can call:
     * SpleefEndGameChecker.run(world);
     */
    public static void run(World world) {
        new SpleefEndGameChecker(world).run();
    }

    // Main logic
    public void run() {
        world.sendMessage(Message.parse("SpleefEndGameCheckerRuns1"));

        var spleefPlayerManager = HelloPlugin.SpleefPlayerManager;
        if (spleefPlayerManager == null) {
            world.sendMessage(Message.parse("SpleefPlayerManager is null"));
            return;
        }

        world.sendMessage(Message.parse("SpleefEndGameCheckerRuns2"));

        for (PlayerRef playerRef : world.getPlayerRefs()) {

            var reference = playerRef.getReference();
            if (reference == null) {
                continue;
            }

            Store store = reference.getStore();
            Player player = (Player) store.getComponent(reference, Player.getComponentType());

            if (player == null) {
                continue;
            }

            String key = world.getName() + playerRef.getUsername();

            Integer value = (Integer) spleefPlayerManager.get(key);
            if (value == null) {
                continue;
            }

            world.sendMessage(Message.raw(String.valueOf(value)));

            if (value == 1) {
                world.sendMessage(Message.parse("GAME ENDED"));
                return;
            }
        }
    }

}
sage mango
#

hey does anyone know where I can find the hytale docs is it in like a src dir somewhere?

hazy anvil
#

I'm trying to play an animation from a packetfilter function but nothing is playing. I put the SCHEDULED_EXECUTOR part to try to fix the thread assertion error.

I have tried running the same playAnimationfunction through a command and it works fine.

//... inside packet filter function
            if (mouseButton.state == MouseButtonState.Pressed) {
                switch (mouseButton.mouseButtonType) {
                    case MouseButtonType.Left -> {
                        Ref<EntityStore> ref = Objects.requireNonNull(playerRef.getReference());

                        HytaleServer.SCHEDULED_EXECUTOR.execute(() -> {
                            AnimationUtils.playAnimation(ref, AnimationSlot.Action, "SwingRight", true, ref.getStore());
                        });

                    }
                }
            }

Anyone have any idea what I could do? From my own testing by sending the PlayAnimation packet myself, the getComponent function seems to stop further code from running.

dire acorn
#

Does anyone know how to get the block position of an entity?

I've gotten the transform component, and thus the position but how can I grab specifically the block position?

cerulean merlin
#

has anyone been able to figure out how to override the fact that you cant drop items while you're running?

spice oak
civic zephyr
loud minnow
civic zephyr
#

Use world.execute, you can get it back from the ref with

ref.getStore().getExternalData().getWorld()

cursive gorge
#

Does anyone have any advice for code or an idea that then gets the server to teleport the player who executed the command to a location? I already pull the UUID i just cant teleport them

civic zephyr
#

Then run world.execute

spare kraken
opaque cape
#

Ok so my Server Jump Mod now has encryption built into it :D, Was honestly super easy, Barely an inconvenience

Now to just test it

pale herald
#

the only solution I have "found" is to cheat with the visibility of many textures, set to false -> true etc at the moment, so if you find better tell me please

hazy anvil
cerulean merlin
cursive gorge
fluid coral
pale herald
cerulean merlin
# cursive gorge Its a location that has been saved but for some reason I just cant get it to tel...

You'd have to grab the cords from the configuration/save that you have but this is worked for me:

World targetWorld = Universe.get().getWorld(WORLD_NAME);
Store<EntityStore> store = ref.getStore();
EntityStore entityStore = (EntityStore) store.getExternalData();
World currentWorld = entityStore.getWorld();
Vector3d position = new Vector3d(SPAWN_X, SPAWN_Y, SPAWN_Z);
Vector3f rotation = new Vector3f(0.0f, SPAWN_YAW, 0.0f);

    Teleport teleport = new Teleport(targetWorld, position, rotation);
    store.putComponent(ref, Teleport.getComponentType(), teleport);
spare kraken
cursive gorge
dire acorn
#

Sorry, don't mean to ask again but I haven't found a way just yet.

How can I get an entity's block position instead of it's normal position?

Is it a conversion I have to do? Or is there some component that should have that information.

fading light
#

i need to test game logic for teams in my server can someone msg me and join for 5 seconds

worn thorn
#

Can I share what I've done here?

cursive gorge
wise knot
#

wait where can I get a list of java imports I can use for plugin dev?

fickle pecan
#

how do i get the ref/store from the attacker again, when i swing my sword i want to have that swing be a crit, are there any ways to access this?

fervent lava
#

I cant seem to get the player model to be set, trying to create a Race plugin and it just stalling out on me, no errors and I am using the example

commandBuffer.replaceComponent(
target,
ModelComponent.getComponentType(),
new ModelComponent(stoneModel));

sharp pumice
#

Anyone know why this is failing to run task?

SpleefEndGameChecker.run(world);

public class SpleefEndGameChecker {

    private final World world;

    // Constructor
    public SpleefEndGameChecker(World world) {
        this.world = world;

        world.sendMessage(Message.parse("SpleefEndGameCheckerRuns0"));
    }

    /**
     * Static helper so you can call:
     * SpleefEndGameChecker.run(world);
     */
    public static void run(World world) {
        new SpleefEndGameChecker(world).run();
    }

    // Main logic
    public void run() {
        world.sendMessage(Message.parse("SpleefEndGameCheckerRuns1"));

        var spleefPlayerManager = HelloPlugin.SpleefPlayerManager;
        if (spleefPlayerManager == null) {
            world.sendMessage(Message.parse("SpleefPlayerManager is null"));
            return;
        }

        world.sendMessage(Message.parse("SpleefEndGameCheckerRuns2"));

        for (PlayerRef playerRef : world.getPlayerRefs()) {

            var reference = playerRef.getReference();
            if (reference == null) {
                continue;
            }

            Store store = reference.getStore();
            Player player = (Player) store.getComponent(reference, Player.getComponentType());

            if (player == null) {
                continue;
            }

            String key = world.getName() + playerRef.getUsername();

            Integer value = (Integer) spleefPlayerManager.get(key);
            if (value == null) {
                continue;
            }

            world.sendMessage(Message.raw(String.valueOf(value)));

            if (value == 1) {
                world.sendMessage(Message.parse("GAME ENDED"));
                return;
            }
        }
    }

}
royal mural
#

anyone using workers in a plugin? smth like bullmq or rabbit?

dire acorn
zinc nexus
fickle pecan
#
Store<EntityStore> source_store;
        if(damage.getSource() instanceof Damage.EntitySource){
            Damage.EntitySource source = (Damage.EntitySource)damage.getSource();
            var ref = source.getRef();
            source_store = ref.getStore();
            
        }

haha once again my enigmatic prowess proves to be boundless

sharp pumice
thick cove
#

someone did a kyori implementation for hytale?

fickle pecan
#
else if (damage.getSource() instanceof Damage.ProjectileSource) {
            Damage.ProjectileSource source = (Damage.ProjectileSource)damage.getSource();
            var ref = source.getRef();
            source_store = ref.getStore();

is the getRef() from a projectileSource the owner?

rugged halo
#

probably

sage mango
rugged halo
#

naming your variables in snake_case is actually criminal though

opaque cape
sage mango
fickle pecan
#

String statName = entry.getKey();
im inconsistent too @rugged halo

opaque cape
#

Both servers just need to have the mod installed and configured with the same encryption key

sage mango
fickle pecan
sonic mauve
#

How do i open a Custom UI on Interact with a custom block ?

dire acorn
#

idk why but I use snake_case for json and other config files
camelCase for method names
PascalCase for class names

solar sphinx
dapper plover
#

i use all kinds all over the place (Rust) ^^

grand ferry
#

hello

dire acorn
#

rUsTCaSe

fickle pecan
#

and half a year of python also rotted my brain so...

dire acorn
#

ah yeah I do upper camel for constants too

tepid adder
#

How do I replace the sound that plays when firing a rifle?

dapper plover
# dire acorn rUsTCaSe

not its more like, types are UpperCamelCase, functions/members lower_snake_case, consts UPPER_SNAKE_CASE and so on, so its all in use but its all having its place where to do it.

opaque cape
#

I just thought of something that could be needed
User on Server B jumps back to Server A
User now on Server A stores their Inventory
Disconnects then Directly Connects back to Server B
Jumps back to Server A

Dupe?
Probably would need to sync with the Main Servers Inventory if you directly connect to a Sub Server
Hmm
A hard one to figure out because there'd also be scenarios where you dont want that to happen
Maybe we clear the inventory on the Server we are leaving xD
So that you cant Dupe stuff that way

rugged halo
fickle pecan
rugged halo
#

I prefer C#'s PascalCase for method names as well, tbh

#

but I tend to adhere to the conventions of whatever language I'm coding in

grand ferry
#

I reported a bug, when will it usually be reviewed?

rugged halo
#

java enums are all caps for me

fickle pecan
fading current
#

The map dissapeared after the update 2. has anyone had this error ?

dapper plover
#

In rust its actually like a standard which "case" you do with what. Means the code linter tool will also tell you when you ignore the rules lol

hallow ferry
#

How can I unregister a command and also an event?

dire acorn
#

just start naming all methods, variables, and enums with emojis 😄

rugged halo
rugged halo
fickle pecan
main lynx
#

Does anyone know of an event/system I can hook into for "When an Entity becomes visible to a player"; i.e. when it enter's the players simulation range

pulsar trail
#

on send entity spawn packet

civic zephyr
rugged halo
#

there's LoadedNPCEvent but I'm not sure that's what you want

civic zephyr
#

But I usually type it out, see thats not the right case standard for the language, and fix it

dapper plover
lime zodiac
#

@tropic orchid

shadow lynx
rugged halo
#

visual studio and intellij look so jarringly different that I usually know where I am lol

tropic orchid
main lynx
lime zodiac
fickle pecan
tropic orchid
lime zodiac
#

ill show u

rugged halo
lime zodiac
#

2 mins rq

dire acorn
#

my vscode drowning with 200 plugins

fickle pecan
civic zephyr
#

I miss Actions haha

sharp pumice
civic zephyr
#

Its a mess they expect you to implement interfaces to get the functionality back and even then its not entirely right

rugged halo
#

Specifically, this will work

long l = 10;
int i = (int) l;

but this will not

Long l = 10;
Integer i = (Integer) l;```

you'd need to do `l.intValue()`
dire acorn
#

I had to update my IntelliJ to start making hytale stuff because I was still on IntelliJ 2020 😅

rugged halo
pulsar trail
#

mixins?

rugged halo
#

c# extension methods are not mixins

civic zephyr
#

No mixins officially supported

rugged halo
#

unless you were just asking if hytale has mixins

opaque cape
grand ferry
#

I reported a bug, when will it usually be reviewed?

rugged halo
#

are mixins like using Harmony in C# or something?

rugged halo
fading light
#

how do i set my default world, my players arent spawning in the superflat but the normal

pulsar trail
fickle pecan
small viper
#

hey, I cant get any of my pre update worlds to load on my server. is there a fix anyone knows?

pulsar trail
civic zephyr
fickle pecan
sweet thistle
#

anyone able to help with finding servers???

fickle pecan
#

the good thing about java though is i dont need DnSpy to see the contents lmao

civic zephyr
#

Harmony is like less versatile Mixins, usually in the contexts I use them (which are Unity games) Im limited to an even smaller subset of functionality cause the games I mod are usually IL2Cpp and not Mono

pulsar trail
#

I suggest avoiding full overrides when using mixins for better compatibility

fickle pecan
civic zephyr
#

Yes it does but you can't use Transpilers which allow you to change IL instructions

#

Because there are no IL instructions

fickle pecan
#

ayhe fair

pulsar trail
#

there are JVM instructions

civic zephyr
#

Not in Harmony

pulsar trail
#

look at the asm docs, thats what mixin uses

shadow lynx
# rugged halo you can in fact cast long to int if you're using primitives

That is true for primitives (example, long to int), but it doesn't apply here (in this context). spleefPlayerManager.get(key) returns an Object (a Wrapper).

In Java, while you can cast primitive long to int, you cannot cast a Long object to an Integer object. They are sibling classes under Number, and Java doesn't allow cross-casting between them. Since get() returns a generic Object, if the underlying data is a Long, a direct cast to (Integer) will always throw a ClassCastException. 🙂

civic zephyr
#

Harmony is not for Java its for C#

pulsar trail
#

and what are transpilers

rugged halo
civic zephyr
# pulsar trail and what are transpilers

Transpilers allow you to peek through IL instructions for a given method and make modifications to the instruction set, like instead of

div

You can replace its call with

mul
pulsar trail
#

i see

glad juniper
#

How do I update my server aaaa

fickle pecan
shadow lynx
glad juniper
#

I replaced the jar but still cannot join

hallow ferry
#

Does this method send a message to the player (player object) or does it send a message to chat for other players?
player.sendMessage(Message.raw("some message"));

civic zephyr
pulsar trail
#

I think because its the player object it would send it from the player

civic zephyr
glad juniper
#

thx

fickle pecan
hallow ferry
pulsar trail
#

it might, you should test

civic zephyr
civic zephyr
fickle pecan
#

oh damners its already 3:12 i should go eepy sleepy 😱

#

🛌 💥

fresh star
#

guys what is the minimum requirements to run hytale?

pulsar trail
#

check the website

shadow lynx
# sharp pumice Even if that was the case, shouldnt it still do the showmessages in the file bef...

The reason you aren't seeing the messages after the cast is because of how Exceptions work.

When (Integer) spleefPlayerManager.get(key) fails, it throws a Runtime Exception. This immediately stops the execution of your run() method. The code "crashes" at that exact line and never reaches the world.sendMessage calls located below it.

Try to fix it making your code robust, you should cast to Number (the parent class) instead of Integer Hypixel_TongueOut

hallow ferry
civic zephyr
#

Yeah that works for same world players but you can do across the whole server like:

Universe.get().sendMessage
hallow ferry
#

Awesome, thank you!

fresh star
#

i have 16gb of ram i should be good

#

i have direct x 12

#

and opengl 4.1 (it comes with integrated graphics)

stark blade
#

Quick question, what is the most common database hosts use? I would think mysql however there are a ton of options lol

fresh star
#

but i runs like TRASH

#

*it

#

yup it's based off of the cpu

safe knoll
#

guys, is there a way to update a sv? I've one with friends but I didn't understood at all how to use new update module tbh

fresh star
#

but i do have a good cpu with 10 cores and a max clock speed of 4.80ghz

safe knoll
#

yeah

steel rain
#

Yo, I wanna set up v2 generation on my game server. How do I enable it?

steel rain
#
Run Downloader

Download the latest version of the patchline before starting the server

I have this option on startup options.

#

Not avalible

safe knoll
#

Oooooh I didn't how that there are new sv files, where can I find them?

rugged halo
#

IL2CPP hides a bunch of stuff

hallow ferry
#

Does anyone know how to get a Player or PlayerRef object from a CommandContext?

pulsar trail
#

look at the command system definition, you'll find it there

dire acorn
#

lets find outttttttttttttttt

hallow ferry
#

I tried to cast but got an error.

lofty berry
#

Plugin for %sleep?

dire acorn
#

rip

lofty berry
#

Thank you

lost mist
#
2026-01-25 02:28:07.4880|FATAL|HytaleClient.Application.Program|Early boot failure System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
   at HytaleClient!<BaseAddress>+0xa9b5cb
   at HytaleClient!<BaseAddress>+0x3dfea3
   at HytaleClient!<BaseAddress>+0x3f6418
   at HytaleClient!<BaseAddress>+0x556fa4
   at HytaleClient!<BaseAddress>+0x55674d
   at HytaleClient!<BaseAddress>+0x3c9ebd
   at HytaleClient!<BaseAddress>+0x136f922
   at HytaleClient!<BaseAddress>+0x3c7dcb
   at HytaleClient!<BaseAddress>+0x3c7c84
   at HytaleClient!<BaseAddress>+0x3c6fc6
   at HytaleClient!<BaseAddress>+0x3c6719
   at HytaleClient!<BaseAddress>+0x2e966b
   at HytaleClient!<BaseAddress>+0x2e9f38
   at HytaleClient!<BaseAddress>+0x640861
   at HytaleClient!<BaseAddress>+0x63b992
   at HytaleClient!<BaseAddress>+0x6535f7
   at HytaleClient!<BaseAddress>+0x6531b9
   at HytaleClient!<BaseAddress>+0x652e45

lord somebody save me 🙁

my plugin keeps cuasing this crash randomly

dire acorn
lost mist
#
2026-01-25 01:39:48.0669|FATAL|HytaleClient.Application.Program|Early boot failure System.NullReferenceException: Object reference not set to an instance of an object.
   at HytaleClient!<BaseAddress>+0x3c7206
   at HytaleClient!<BaseAddress>+0x3c75f8
   at HytaleClient!<BaseAddress>+0x2e9140
   at HytaleClient!<BaseAddress>+0x63c024
   at HytaleClient!<BaseAddress>+0x63b3a5
   at HytaleClient!<BaseAddress>+0x6535f7
   at HytaleClient!<BaseAddress>+0x6531b9
   at HytaleClient!<BaseAddress>+0x652e45```

what about
rugged halo
dire acorn
#

the cast still worked for me, not sure if that's fine or not though

rugged halo
#

FWIW, all that does is this

    @Nonnull
    public <T extends CommandSender> T senderAs(@Nonnull Class<T> senderType) {
        try {
            return (T)(senderType.cast(this.sender));
        } catch (ClassCastException var3) {
            throw new SenderTypeException(senderType);
        }
    }```
#

so casting should work lol

dire acorn
#

oh pfffft

hallow ferry
dire acorn
#

player.getReference()

rugged halo
#

no, that just gives a Ref<EntityStore>

hallow ferry
#

Yeah but its depracated @dire acorn

rugged halo
#

you need to grab the PlayerRef component from that store

hallow ferry
#

Got it @rugged halo

        Ref<EntityStore> ref = source.getReference();
        Store<EntityStore> store = ref.getStore();
        PlayerRef playerRef = store.getComponent(ref, PlayerRef.getComponentType());```
Thank you
sharp pumice
#

anyone have any ideas?

[2026/01/25 02:41:15 SEVERE] [World|SpleefLobby3] Failed to run task!
SpleefLobbyCheck.run(world);


    public static void run(World world) {
        world.sendMessage(Message.parse("SpleefLobbyCheck is running"));
    }
}```
#

im starting to think im stupid lmfao

fleet sphinx
#

Why isn't this chat moved to the Hytale Modding discord- it makes the most sense there

rugged halo
#

that discord probably isn't official

fleet sphinx
#

It has lots of Hytale and Hypixel employees in it, including Simon

dire acorn
rugged halo
#

specifically Ref<EntityStore> same as player.getReference()

dire acorn
#

im allergic to reading clearly

rugged halo
#

it's okay i couldn't read until this morning

dire acorn
#

thanks hytale for teaching us how to read

patent berry
#

who needs to read?

vital hemlock
#

Hey does anyone know how i get the path to my own assetpack via Code? 🙂

empty wraith
#

Guys, Is there something like Mixin in Minecraft?

#

Like If I want all Zombies will be baby, i can use mixin and change the isBaby function as I like

#

Can I do that in Hytale?, and How?

opaque cape
#

wtf do you mean a switch statement is not part of standard java bro what

dire acorn
#

How can you process a command that uses multiple arguments?

copper anchor
#

Otherwise there is also bytecode transformation on its own if you hate yourself

dire acorn
#

you reminded me to just READ THE DOCUMENTATION 😭

#

I hate reading

#

wow I found the answer I needed by reading documentation who would have thought

stray pasture
stray pasture
fleet sphinx
#

You're missing a lot of fine-grained information that could help. I'd put the whole repo/codebase in AI and ask it questions against that.

#

It's like pouring a pool into a bucket... so distilled

stray pasture
dire acorn
#

I'm trying to read and write myself first before throwing in the AI towel

opaque cape
#

Each new feature or layer or anti fraud I add to my mod, It gets exponentially more complex

fleet sphinx
dire acorn
#

although I do agree, AI can be very useful for examples and docs

opaque cape
stray pasture
opaque cape
#

For context, I'[m working on a mod that lets you Jump Servers, And take your inventory to you

#

I can see now, Very clearly, Why nobody had already done this

spare dome
#

is anyone having issues with the online ui creator consistently making the .ui files with errors like properties don't exist etc etc?

opaque cape
#

What have I gotten myself into lmao

stray pasture
copper anchor
opaque cape
#

Its extremely simple to do the whole, jump servers and sync the inventory

#

And then you've got to consider all the ways that can be used to Duplicate your Inventory

#

We've got Encryption, We've got Transaction IDs, We've got timestamps

And now I'm introducing the concept of Current Authoritative Server, Which will mean the Inventory will only actually sync if you came from an Authoritative Server

#

An Authoritative Server is any server you jumped to... From an Authoritative Server

copper anchor
#

I am working on a webpanel for my moderation plugin... now imagine the stress of security in that 😂

opaque cape
#

By Default the Main Server is the Authoritative Server

stray pasture
opaque cape
#

And thats the concept behind the Authority Server flags

stray pasture
copper anchor
#

Just clear the info when a player jumps

opaque cape
copper anchor
#

Jump -> Transfer -> Wipe inv from 1

#

Ensure the transfer is complete obv

stray pasture
#

What is the authoritative concept doing if not that?

copper anchor
#

And have an audit log running

stray pasture
#

Is loggedin

opaque cape
#

The Authority Server flag is basically just a trail of "Have you actually jumped from a valid server and should we sync the inventory when you join?"

fleet sphinx
#

Or keep the inventory in a global store like Redis, and every modification event changes it at the authority. Then just always load from Redis

opaque cape
copper anchor
#

I did that but apparently, its not secure enough for some fancy schmancy people

stray pasture
opaque cape
#

I dont want any middleman servers, This is all self contained

fleet sphinx
#

Ah, like literally the plugin

opaque cape
#

This is just a, Install the Mod and Configure it solution

fleet sphinx
#

I see, so this project is meant to be deployed to many servers, and they communicate with each other?

opaque cape
#

Any Server with the Mod installed, And sharing the same encryption key, Will be able to Jump and Sync between each other

fleet sphinx
stray pasture
opaque cape
#

Lets now introduce the concept of Server C

If you join Server C directly, But Server B was the Authority

We will call Server A, Which will then call Server B for its inventory, And send it back to Server C and then make Server C the authority

copper anchor
stray pasture
opaque cape
#

That way whatever server you connect to "will become the authority" after grabbing the Inventory from the Authority Server

#

Using the Main Server as a kinda Bounce arounder, To find out the true Authority Server

#

Server A is the Main Server here

copper anchor
#

What if there are 15 servers

fleet sphinx
#

Centralized architecture is more conventional, why go the federation route?

copper anchor
#

Will the player be around in limbo till it finds the correct information?

stray pasture
fleet sphinx
#

It's not necessarily more complex 😄

strong musk
valid burrow
#

how do you update a servers world from the previous version

opaque cape
stray pasture
strong musk
fleet sphinx
#

Yes, which is why I am asking why federation is being used here

opaque cape
#

This of course all relies on the fact that there should never be any issues and the servers should never go down xD

copper anchor
fleet sphinx
#

It's quite literally modular, incomplex, and easily understandable architecture

valid burrow
#

how do you update a servers world from the previous version, i just put the new server files in and kept the old world and its erroring with world gen stuff

copper anchor
#

Oh yeah, also what happens when authoritative server crashes

stray pasture
opaque cape
#

So there'd be atmost 3 points of contact

fleet sphinx
#

It's a lot more robust to have a central authority. More control.

opaque cape
#

Since any server that becomes the authority should tell Server A its the authority

warm delta
#

hey all. I'm looking for players who have an open server that are in canada or us, preferably western time zones. ages 30+ that wouldnt mind a new player join in?

strong musk
# opaque cape This of course all relies on the fact that there should never be any issues and ...

The fallacies of distributed computing are a set of assertions made by L. Peter Deutsch and others at Sun Microsystems describing false assumptions that programmers new to distributed applications invariably make.
The network is reliable;
Latency is zero;
Bandwidth is infinite;
The network is secure;
Topology doesn't change;
There is one administrator;
Transport cost is zero;
The network is homogeneous;

stray pasture
#

It doesn't sound built for scale, it sounds built for ease of deployment and self managing.

fleet sphinx
#

I can almost certainly say the tradeoffs are not worth it...

opaque cape
stray pasture
fleet sphinx
#

What if you want to take down a server separately for maintanence, and it's the authority server for many inventories?

valid burrow
#

how do you update a servers world from the previous version, i just put the new server files in and kept the old world and its erroring with world gen stuff

[2026/01/25 03:15:29 INFO] [HytaleServer] Shutdown triggered!!!
[2026/01/25 03:15:29 INFO] [HytaleServer] Shutting down... 3 'Failed to load world gen!
Error while loading zone "/Server/World/Default/Zones/Oceans" for world generator from file.
Error while loading cave generator.
Error while loading caves for world generator from /Server/World/Default/Zones/Oceans/Cave/Caves.json
Cannot invoke "getAsString()" because the return value of "get(String)" is null'
[2026/01/25 03:15:29 INFO] [Universe|P] Removing world exceptionally: default
[2026/01/25 03:15:29 INFO] [World|default] Removing individual world: default
[2026/01/25 03:15:29 SEVERE] [Universe|P] Failed to load world: default
CompletionException: SkipSentryException: Failed to load WorldGen!

stray pasture
opaque cape
fleet sphinx
#

Yes:
Topology doesn't change;

stray pasture
#

This of course all relies on the fact that there should never be any issues and the servers should never go down xD

strong musk
copper anchor
#

I would just use a database, it seems simpler, less fallbacks, not as many edge cases either

fleet sphinx
#

"all this relies on" is the last words of every engineer that chose the wrong solution

sinful storm
#

Update 2 hasn't done much on the server timeouts during asset download, especially for people with shaky internet, it will download till the end just to fail with timeout and force a redo until the client joins.

stray pasture
#

One day I will make my unkillable MMO.

fleet sphinx
#

dc?

opaque cape
#

My solution could in theory be easily adapted to then store the inventory on a single database server

#

Itd just be a few lines to make the Database Server always the authority

strong musk
fleet sphinx
#

Yes! Domain controllers are used in every single corporate org

opaque cape
#

I could in theory just make it configurable so that the Main Server is ALWAYS the authority, And to constantly keep the inventory updated there if the Player should disconnect from a Sub Server

stray pasture
opaque cape
#

I dont think itd be much work to shift

fleet sphinx
#

Non-hytale/mc services are used in every single deployment of large scale servers

opaque cape
#

In fact you wouldnt even need a DB, You could just have another Hytale Server that nobody actually plays on, That just stores all the inventories

burnt perch
opaque cape
#

And then everything is stored as native data

fleet sphinx
#

That sounds like a lot of wasted resources...

opaque cape
#

Yes I know, But its all stored in a Hytale Format, Instead of like SQL

fleet sphinx
#

Like, worlds loaded, entities ticking, and it's never used.

stray pasture
#

The whole point is to make it easy and simple for people who don't know how to do what we do.

fleet sphinx
opaque cape
#

For the Inventory Grabbing and Syncing stuff, We actually run an HTTP Server on the Hytale Server with various endpoints exposed

fleet sphinx
opaque cape
#

But only decryptable payloads are accepted

#

Currently the working title for this mod is "Shubshub Server Jump"

fleet sphinx
opaque cape
#

You cant natively call another server to find out its inventory

fleet sphinx
#

Web server does the business logic, along with message queues.

copper anchor
#

I suggest, packaging inventory as a custom type, sending it to a server, then send a player link which player pastes in new server, and receive package from server and then unpackage it and give items to players

So your server is authoritative c:

worn meadow
#

Hello guys. I'm looking for a way to access the tier level of a CraftingBench in the world. Currently the CraftingBench implements only a method that allows to get a list of available tiers for a Bench Type. I'm looking to get the actual bench tier level for a specific bench in the world.

Does anyone know where i can get this information?

burnt perch
fleet sphinx
opaque cape
opaque cape
valid burrow
#

how do you update a servers world from the previous version? i just put the new server files in and kept the old world and its erroring with world gen stuff

[2026/01/25 03:15:29 INFO] [HytaleServer] Shutdown triggered!!!
[2026/01/25 03:15:29 INFO] [HytaleServer] Shutting down... 3 'Failed to load world gen!
Error while loading zone "/Server/World/Default/Zones/Oceans" for world generator from file.
Error while loading cave generator.
Error while loading caves for world generator from /Server/World/Default/Zones/Oceans/Cave/Caves.json
Cannot invoke "getAsString()" because the return value of "get(String)" is null'
[2026/01/25 03:15:29 INFO] [Universe|P] Removing world exceptionally: default
[2026/01/25 03:15:29 INFO] [World|default] Removing individual world: default
[2026/01/25 03:15:29 SEVERE] [Universe|P] Failed to load world: default
CompletionException: SkipSentryException: Failed to load WorldGen!

copper anchor
spice oak
#

Hi guys. I'm adding multiple "cards" into a custom UI and, with a For loop, I'm adding some of those and trying to update name, but I'm getting only first card been update.

I'm adding 11 cards, for example, and the first card updates its "label name" into "11". It means only this cards is referenced inside For loop, but no others created.

hallow ferry
#

Anyone have some good soundtracks suggestions to listen to while coding? Something upbeat

dire acorn
#

In Colour by Jamie XX has always been a go to for my coding music

it's a little bit out there though, not for everyone

opaque cape
hallow ferry
dire acorn
#

niceeeee

copper anchor
opaque cape
#

In which case we lost the plot a long time ago

hallow ferry
#

Does anyone have a good "error sound" beep or boop? Something included with the assets already. I want to play a error sound if a command is entered incorrectly.

patent vapor
#

how do i reload ui files in game? reloading the plugin does nothing

gusty socket
#

given a reference to an item that is a Bench_WorkBench, does anyone know how i can check that tier the workbench is?

dense lion
#

HELP PLS. I am getting crazy with this, log is printed but event is not cancelled, all my other systems are working as expected ...

public class DamageSystem extends EntityEventSystem<EntityStore, Damage> {

public DamageSystem() {
    super(Damage.class);
}

@Override
public void handle(int index, @Nonnull ArchetypeChunk<EntityStore> chunk,
                   @Nonnull Store<EntityStore> store,
                   @Nonnull CommandBuffer<EntityStore> commandBuffer,
                   @Nonnull Damage event) {
    if(1==1){
        event.setCancelled(true);
        System.out.println("Damage cancelled");
        return;
    }
dire acorn
#

1==1 ?!?!?!?!?!??

copper anchor
#

if (1==1) brother why

#

Might as well use if (true) why waste computation there

dire acorn
dense lion
#

just harcoding to provoque the yes (i have more code below not running rn XD)

copper anchor
dense lion
dire acorn
#

oh my bad

dense lion
#

i mean all my other events are working

hallow ferry
#

Do you know how to play it? I have't tried that yet. And thank you for your help!

dense lion
#

this is crazy dumb right now... senseless, best thing is that i am removing the knockback and that works

#

but damage keep being there

copper anchor
#

Were you here for the two people's breakup yesterday?

fallow stump
#

ok so my dedicated server isnt loading the chunks

copper anchor
#

There was a messy breakup right here happening in this channel
An IRL relationship getting destroyed

dense lion
#

This made the trick WTH?

@Override
public Set<Dependency<EntityStore>> getDependencies() {
   return Collections.singleton(RootDependency.first());
}
#

wtf is that

#

just copied from another mod code ...

#

i mean holly molly

copper anchor
dire acorn
#

hmm I read the docs for the damage event I have no idea why it wouldn't work lol

happy it works now for you though

dense lion
spare dome
#

I'm guessing that's how they order the events

dense lion
#

but that is crazy lmao, having to override something not declared in the own event, even higher

spare dome
#

and without a dependency it can't actually add it to the event bus

opaque cape
#

    private final Map<UUID, String> serverJumpCache = new ConcurrentHashMap<>();
    private final Map<String, Long> usedTransactionIds = new ConcurrentHashMap<>();
    private final Map<UUID, PlayerData> playerDataCache = new ConcurrentHashMap<>();
    private final Map<UUID, BsonDocument> pendingInventories = new ConcurrentHashMap<>();
    private final Map<UUID, Boolean> authoritativeServerCache = new ConcurrentHashMap<>();

    private static final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();

    private static ShubshubServerJump instance;

    private PluginConfig config;

    private Path configPath;
    private Path playerDataPath;

    private HttpServer httpServer;```

Dont you just love when your variables are laid out in a nice satisfying way
copper anchor
dense lion
copper anchor
#

Yeah it seems its a heirarchy thing for sure but I am more interested in the rest of it lol

dense lion
# copper anchor Can I see more of the code around to actually see what you have done
public class DamageSystem extends EntityEventSystem<EntityStore, Damage> {

    public DamageSystem() {
        super(Damage.class);
    }

    @Override
    public void handle(int index, @Nonnull ArchetypeChunk<EntityStore> chunk,
                       @Nonnull Store<EntityStore> store,
                       @Nonnull CommandBuffer<EntityStore> commandBuffer,
                       @Nonnull Damage event) {

        if (event.isCancelled()) {
            return;
        }

        Damage.Source source = event.getSource();
        if (source instanceof Damage.EntitySource entitySource) {
            Ref<EntityStore> ref = chunk.getReferenceTo(index);
            Player playerAttacked = store.getComponent(ref, Player.getComponentType());
            Player playerAttacking = store.getComponent(entitySource.getRef(), Player.getComponentType());
            if (playerAttacked != null && playerAttacking != null) {
                PlayerRef playerAttackingRef = playerAttacking.getPlayerRef();
                PlayerRef playerAttackedRef = playerAttacked.getPlayerRef();

                Team teamAttacking = Utils.getTeamByPlayerRef(playerAttackingRef);
                Team teamAttacked = Utils.getTeamByPlayerRef(playerAttackedRef);

                if (teamAttacking != null && teamAttacked != null && teamAttacking.getName().equals(teamAttacked.getName())) {
                    event.setCancelled(true);   
                    return;
                }
            }
        }
    }
   
    @Nullable
    @Override
    public Query<EntityStore> getQuery() {
        return Query.and(Player.getComponentType());
    }

    @Override
    public Set<Dependency<EntityStore>> getDependencies() {
       return Collections.singleton(RootDependency.first());
    }
}
opaque cape
#

jesus christ a wall

copper anchor
#

Use please
```
code
```

opaque cape
#

Just for future reference it'll be easier to read if you encapsulate i--- yeah like that

spare dome
#

If you really want you can make your own abstraction of the EntityEventSystem and just add the root dependency override by default

copper anchor
#

Yeah that^

spare dome
#

It'll keep you sane in the future if you forget to add it lol

copper anchor
#

ECS is very odd shii..

dire acorn
#

I don't code very much and this is my first experience with ECS

I'm here for the ride

spice oak
#

Hi guys. I'm adding multiple "cards" into a custom UI and, with a For loop, I'm adding some of those and trying to update name, but I'm getting only first card been update.

I'm adding 11 cards, for example, and the first card updates its "label name" into "11". It means only this cards is referenced inside For loop, but no others created.

stray pasture
dire acorn
#

ok "I don't code very much" is a lie. I just don't FEEL expereinced 😭

#

im working on it

stray pasture
lament pagoda
#

Can someone help me?
I can't open the game, it gives an error.

rigid girder
#

anyone know how to get the default world spawn point?

stray pasture
lament pagoda
# stray pasture AWesome, error?

An error occurred while launching Hytale. Please validate or uninstall your game files in the settings menu to fix this issue. Contact support if the problem persists

stray pasture
gusty socket
lament pagoda
#

I already uninstalled the game, removed all the files, and reinstalled it, but nothing changed.

copper anchor
stray pasture
valid burrow
#

how do you update a servers world from the previous version, i just put the new server files in and kept the old world and its erroring with world gen stuff

[2026/01/25 03:15:29 INFO] [HytaleServer] Shutdown triggered!!!
[2026/01/25 03:15:29 INFO] [HytaleServer] Shutting down... 3 'Failed to load world gen!
Error while loading zone "/Server/World/Default/Zones/Oceans" for world generator from file.
Error while loading cave generator.
Error while loading caves for world generator from /Server/World/Default/Zones/Oceans/Cave/Caves.json
Cannot invoke "getAsString()" because the return value of "get(String)" is null'
[2026/01/25 03:15:29 INFO] [Universe|P] Removing world exceptionally: default
[2026/01/25 03:15:29 INFO] [World|default] Removing individual world: default
[2026/01/25 03:15:29 SEVERE] [Universe|P] Failed to load world: default
CompletionException: SkipSentryException: Failed to load WorldGen!

heavy willow
#

so does Biomes work like ores and need a plugin to inject them or will biomes actually inject themselves if you use the visual code system and wire them into worldgen V2 and include them purely as an asset pack now?

copper anchor
valid burrow
#

yeah i copied them over

dire acorn
#

I just want to make cool stuff, but I definitely have a severe sense of imposter syndrome. Communities can be intimidating.

gusty socket
stray pasture
# dire acorn I just want to make cool stuff, but I definitely have a severe sense of imposter...

Well, its the small amounts of people in them that state whatever you do is the wrong way or inferior way. 😄 - If people didn't care for things such as using "AI" or specifics that likely don't matter then you would be golden! But we all know real programmers write each line by hand.

^ That is the stuff that most will make you see inferior. Just lean into what you doing and if it works it works! (Also if you understand it, making something you don't understand "Meaning you can't explain or deduce a bug" is not helpful) 😄 But hey, at the end of the day does it work? And can you learn it later? Sure! 😄

fiery plume
lament pagoda
#

It won't open at all.

stray pasture
lament pagoda
#

I've simply tried everything and nothing works.

neat talon
#

does anyone know how to fix async and desyenc from client? the servers side seem fine but when they join they have a false ping of like 80k and they cant open anything

fallow stump
#

[2026/01/25 03:40:30 WARN] [UpdateLocationSystems] Entity has moved into a chunk that isn't currently loaded! -44, 14, com.hypixel.hytale.server.core.modules.entity.component.TransformComponent@5b00d469
[2026/01/25 03:40:30 SEVERE] [Hytale] Unhandled exception! Thread[#83,WorldThread - default,5,InnocuousForkJoinWorkerThreadGroup]
java.util.concurrent.CompletionException: java.lang.RuntimeException: Chunk failure backoff
at java.base/java.util.concurrent.CompletableFuture.wrapInCompletionException(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source)

any ideas on whats going on?

fleet sphinx
neat talon
rancid obsidian
#

Does anyone have any documentation on scoreboards?

elder thicket
#

Anyone know the proper way to update a linux dedicated server? I'm struggling, sorry.

If I run -check-version, it says I'm up to date but I'm certainly not (my client is on Version: 2026.01.24-6e2d4fc36

Here is my linux output:

root@strange etherserver:/opt/hytale-server# ./hytale-downloader-linux-amd64 -check-update
hytale-downloader is up to date (2026.01.09-49e5904)

fleet sphinx
#

Just use the cdn, the hytale downloader is a pain

amber blaze
#

i cant join my friend how can i fix that?

elder thicket
fleet sphinx
#

I'll DM

fallow stump
#

but this happens tell i join

#

[2026/01/25 03:40:32 WARN] [Spawning|P] NPCEntity despawning due to lost marker: Ref{store=class com.hypixel.hytale.component.Store@770609486, index=2}

[2026/01/25 04:04:38 INFO] [ServerAuthManager] Refreshing game session with Session Service...
[2026/01/25 04:04:38 INFO] [SessionServiceClient] Refreshing game session...
[2026/01/25 04:04:38 INFO] [SessionServiceClient] Successfully refreshed game session
[2026/01/25 04:04:38 INFO] [ServerAuthManager] Token refresh scheduled in 3301 seconds
[2026/01/25 04:04:38 INFO] [ServerAuthManager] Game session refresh successful
[2026/01/25 04:09:35 INFO] [Universe|P] Backing up universe...
[2026/01/25 04:09:35 INFO] [BackupTask] Clearing old backup: Backup\2026-01-24_18-09-30.zip
[2026/01/25 04:09:42 INFO] [BackupTask] Successfully created backup Backup\2026-01-24_22-09-35.zip
[2026/01/25 04:09:42 INFO] [Universe|P] Completed scheduled backup.

neat talon
neat talon
#

this could be corupted and need to be deleted and reinstated through a server restart

gusty socket
#

does anyone know given a reference to an item that is a Bench_WorkBench, how can you check what tier it is? or any other upgradeable station for that matter?

granite prism
#

Anyone know how to use the new UpdateConfig?

strong musk
leaden kelp
#

I got a server running on a virtual machine although the game play a bit laggy. What's the minimum spec needed ? How many cores should I dedicate to running it.

lament pagoda
#

So I wanted to play the game, how annoying!

elder thicket
fading light
#

how tf do i change default world to superflat?

primal cypress
#

guys i want to make a block that look at it's neighbour and rotate automatically to a specific block, not literally rotating, more like placing a torch, if i'm looking at a wall it will have its "base" attached to the wall, like the torch, is a thing that i need to script in java or only in the assets editor?

nocturne star
elder thicket
#

Thanks for this. The /hytale-downloader-linux-amd64 doesn't do anything for me haha

thin ember
#

Working on a plugin that has custom mob spawns, im trying to simply use the /npc spawn command but when setting the --position argument I keep getting formatting errors. Does anyone know the correct formatting for that specific command?

leaden kelp
#

I used hyper v on windows with 4 cores and 32gb of memory so it should have been fine. Maybe a linux vm would have worked better.

#

I agree I was just experimenting today to see how difficult it would be to set up a server and it was suprisingly easy.

#

With the linux server is there an easy way to pull down updates to keep everything in sync with the client software ?

gaunt forge
#

i would like to output a message to the in game chat for debugging purposes. anyone done this yet that can help please?

strong musk
#

iirc, the bash script included in the downloaders zip does it

leaden kelp
#

Thanks I will look into that.

latent turret
#

anyone know the permission node for the built in warp command?

tacit shale
#

Wait live events are a thing that people are talking about? So I'm not the only one?

latent turret
#

would you happen to know the permission nodes for the player commands? specifically /warp

tacit shale
#

What?

thin ember
strong musk
tacit shale
gaunt forge
strong musk
gaunt forge
#

think i found a way though

Universe.get().sendMessage(Message.raw(message));

tacit shale
strong musk
#

the phrase comes from the bit where its like necromancy, and your resurrecting the convo from the dead

gaunt forge
#

yep that worked

thin ember
strong musk
thin ember
#

Anyways, does anyone know the correct formatting for the --position argument in the /npc spawn command, no matter what I try it gives me some kind of formatting error

#

Its such a simple thing but so annoying as theres no docs showing this specific arguments formatting, all thats said in game is it takes text as the input

fallow stump
#

um i think i have a runaway server

#

[2026/01/25 04:51:41 SEVERE] [EventBus] Failed to dispatch event null to SyncEventConsumer{consumer=com.hypixel.hytale.server.core.universe.Universe$$Lambda/0x000000008e6fa350@a91119b, timedConsumer=com.hypixel.hytale.event.SyncEventBusRegistry$SyncEventConsumer$$Lambda/0x000000008e5ee2e8@62526644} EventConsumer{index=13, priority=-32, consumerString='com.hypixel.hytale.server.core.universe.Universe$$Lambda/0x000000008e6fa350@a91119b', timer=Metric{min=9223372036854775807, average=0.0, max=-9223372036854775808}}
java.lang.UnsupportedOperationExceptionat java.base/java.lang.Thread.stop(Unknown Source)at com.hypixel.hytale.server.core.util.thread.TickingThread.stop(TickingThread.java:164)at com.hypixel.hytale.server.core.universe.Universe.shutdownAllWorlds(Universe.java:424)at com.hypixel.hytale.server.core.universe.Universe.lambda$setup$1(Universe.java:267)at com.hypixel.hytale.event.SyncEventBusRegistry.dispatchEventMap(SyncEventBusRegistry.java:112)at com.hypixel.hytale.event.SyncEventBusRegistry$SyncEventConsumerMap.dispatch(SyncEventBusRegistry.java:173)at com.hypixel.hytale.event.SyncEventBusRegistry$SyncEventConsumerMap.dispatch(SyncEventBusRegistry.java:163)at com.hypixel.hytale.event.IEventBus.dispatch(IEventBus.java:21)at com.hypixel.hytale.server.core.HytaleServer.shutdown0(HytaleServer.java:515)at com.hypixel.hytale.server.core.HytaleServer.lambda$shutdownServer$0(HytaleServer.java:499) at java.base/java.lang.Thread

stray pasture
fallow stump
#

server wont shut down

stray pasture
#

Oh I can get it to shut down!

fallow stump
#

chunks wont load but still can join

stray pasture
#

#

I am not going to pretend I have any control over Java, it becomes sentient once you bring that jar to life.

dire acorn
#

I am calling my development journey done for today 😭

in the span of 6 hours I only did the following:

  • players can queue for a game
  • players can be teleported into the game

...I will be more productive tomorrow

floral cradle
#

any idea why if I'm trying going to forgotten temple, my server always got restarted?

fallow stump
#

windows

floral cradle
fallow stump
#

did

stray pasture
deft dawn
#

So when using block bench is there a way to cut a hole into a block?

coral swift
deft dawn
#

like a chisel tool i guess

dire acorn
tranquil tendon
#
ChunkStore chunkstore = world.getChunkStore();
Ref<ChunkStore> refchunk = chunkstore.getChunkReference(ChunkUtil.indexChunkFromBlock(targetBlock.x,targetBlock.z));
BlockComponentChunk blockComponentChunk = chunkstore.getStore().getComponent(refchunk, BlockComponentChunk.getComponentType());

// This evaluates to null because there is no entity reference in the block component that matches the index
Ref<ChunkStore> specificBlock = blockComponentChunk.getEntityReference(ChunkUtil.indexBlockInColumn(targetBlock.x,targetBlock.y,targetBlock.z));

// So this throws a null pointer exception
Store<ChunkStore> specificBlockStore = specificBlock.getStore();

anyone know why this isnt working? how do i put a block component on a block??

stray pasture
# fallow stump did

Best answer is either literally power off, OR task manager the living bajesus out of it

fallow stump
#

i can kill the server forcfully but it should stop when you put the "/stop" command in

stray pasture
stray pasture
copper anchor
dire acorn
#

Have to get a lot of boilerplate stuff out of the way before I can even start working on game logic. Hopefully I can start that soon because that's the fun part in my opinion.

stray pasture
copper anchor
#

I just looked back at my code I have been working on.. and asked myself "I did that..???"

rugged flicker
#

I am trying to download the reccomended plugings from the Hytale support page for creating a dedicated server, but I cannot figure out how to download and find the jar file the plugins are referring to that I am supposed to drag into my mods folder. Can someone please help me?

stray pasture
copper anchor
#

I think I have my auth system concrete at JWT + Cookie... atleast thats smth

dire acorn
copper anchor
#

I cant design frontend if my life depended on it tbh
You know I have like 2-3 different mods on hold cause I cant make UI with this god forsaken API

dire acorn
#

Somehow never gets easier. When I was making minecraft plugins I would always use other people's UI libraries cause the inventory api and scoreboard api's were just too much for me to deal with :P

stray pasture
#

I work on a dev tool for work and I have to design it - Lets just say its 💩

dire acorn
#

someone get to work on HyTML and HyCSS for me please

copper anchor
#

Dev tools are hard to get right tho

fallow stump
#

so i moved my saved world out and said fine ill start a new run and its fine now so i think the world save has the bug/crash isue

copper anchor
#

It has html

dire acorn
#

OMG LOL

#

this is amazing, im going to use this

copper anchor
#

Oh it has css as well actually lol

dire acorn
#

AMAZINNNNNGGGGG

#

im saving this for later holy sheet

indigo rain
#

trying to fire the server up after an update and im getting an error about a duplicate plugin but cant find any real info in the server log, anyone know any solutions?

fervent lava
#

Has anyone successfully thrown a fireball without the staff with a mod?

fervent lava
simple herald
fervent lava
indigo rain
#

it says main.main lol, thats what im saying is it doesnt have a specific plugin before crash

fervent lava
#

// Get projectile config
ProjectileConfig config = ProjectileConfig.getAssetMap()
.getAsset("hytale:fireball");

// Define spawn position and direction
Vector3d position = new Vector3d(100, 64, 100);
Vector3d direction = new Vector3d(1, 0, 0); // East direction

// Spawn projectile
Ref<EntityStore> projectileRef = ProjectileModule.get().spawnProjectile(
shooterRef, // Creator entity reference
commandBuffer, // Command buffer for adding entity
config, // Projectile configuration
position, // Spawn position
direction // Launch direction (normalized)
);

simple herald
# fervent lava got an example?

Google "Hytale modding Customizing Hotbar Actions" and it'll walk you through how to intercept packets. Once you have that you can do whatever really

fervent lava
civic zephyr
#

Individual blocks do not automatically have individual chunkrefs unless they have another system put in place that has added it for them

#

This is how you can make one:

Holder<ChunkStore> holder = ChunkStore.REGISTRY.newHolder();
holder.putComponent(BlockModule.BlockStateInfo.getComponentType(), new BlockModule.BlockStateInfo(blockIndex, chunkRef));
blockRef = chunkstore.getStore().addEntity(holder, AddReason.SPAWN);
simple herald
# fervent lava Oh man, that kind of hurts my head

it's not so bad. Just try and get the packet handler working first and go from there, don't forget to register it in setup() before trying it. You can also output the packet to console or log to check it's working okay

vernal sapphire
#

I find the only way to move forward with making "actual" mods is doing some server-side logic. From my understanding, implementing mods this way is MUCH more difficult than just changing the JSON files method that the game seems to actually be supporting right now. I'm familiar with java, but could somebody explain to me if there will be better support for implementing actual scripting logic for our mods in the future (and if this will only be in the form of the visual scripting that seems to be coming eventually?), or will I have to just bite the bullet and dive into the current method of setting up a gradle project?

~ I'm aware that this is a very beginner question, but I can't seem to find much explanation of the actual server-side stuff online

strong musk
#

I read a blog post that said that they didnt want to add first party support for lua/typescript style langs

#

good news is it could be implemented as a mod

simple herald
#

also agree just bite the bullet

river comet
#

I'll be honest here and just say it really wouldn't, undermining server perfomance for the sake of a (tiny) easier time programming isn't it

simple herald
# strong musk good news is it could be implemented as a mod

someone's doing this already - Integrated Lua Environment: Write and execute Lua code in-game.
REPL: A responsive command-line interface to test code snippets and control your computer in real-time.
Safety: Safely run loops and complex scripts without freezing the game server. Every script runs in its own isolated environment and instructions per tick are limited.
File System: (Planned) Save and load your scripts.
APIs: (Planned) Interact with the Hytale world, blocks, and redstone equivalents.

strong musk
river comet
#

you don't need lua, or javascript or typescript. Java isn't that complicated you just have to accept that the learning process isn't gonna be simple

#

which is to be expected when you start modding stuff

simple herald
strong musk
spice oak
#

Does anyone knows how to add multiples UI "cards", for example, and change it's value (for example of a Label's text) for each one?

copper anchor
#

I love stack overflow and being able to find a niche random thing for smth you are doing lol
long count = requestCounts.compute(ip, (k, v) -> (v == null) ? 1L : v + 1);
Like this works... but idk how it does and dont care either 😂

strong musk
#

looks like an iterator over a map that does a null check with 1 being the null case

river comet
#

btw I feel like I missed something but, anyone figured out how to add ai components/systems yet? (Like, I'm trying to set up a custom patrol path and I'm just struggling to get everything working because you can't do it purely with the json)

copper anchor
#

I'll be honest, I ran a test and it worked fine and I didnt even bother try to understand it 😂

civic zephyr
strong musk
#

after that its just a null check with 1 as the "default"

calm birch
#

Made a companion npc that inherits users stats, follows the player loots items etc, when at home he will deposit into chests - next thing is to make him have idle mode at home so he can take a chest id and process materials in furnaces, benches etc and deposit into another chest

river comet
civic zephyr
#

"Data registries" ?

copper anchor
civic zephyr
#

You can make sensors with any builder you want in the json to feed whatever you need

river comet
#

god I'm tired, you can't put instance data for the entity in them

calm birch
#

it can already, although primitive, it has nameplate that changes when it wants to speak

civic zephyr
#

Yeah you would want to get the data somewhere else and have the sensor feed it through

civic zephyr
#

If you make a custom sensor you can feed whatever you want in per instance

#

The override provides you the ref of the entity in question

#

Let me check what you need to pass through for the pathfind bodymotion

river comet
#

I already have the doc ^^'

civic zephyr
#

Yeah the sensorinfo you pass through has to be an IPathProvider

late siren
#

is it possible to apply burn effect with a projectile with asset editor?

tranquil tendon
latent turret
#

am I allowed to remove hytale's warp/teleport commands? if so how do I do this?

pale crow
#

Hello, sorry to bother you, but I need some help. I'm trying to create a mod with IntelliJ IDEA. I'm using the HytaleDocs plugin with the template, but when I put my textures, the model, and the .json file for my item in the files, it doesn't appear in the game. Has anyone else had this problem?

radiant plover
#

watch my profile and status 🙂‍↕️

frozen gate
opaque cape
#

Just successfully tested Setting Authority Server, Syncing with Encrypted Data
And also a Movement of Authority, Between two servers

#

Server Jump with Inventory Sync + Anti-Inventory-Fraud
Is successful

opaque cape
#

@gentle nymph Is there a reason you're adding me?

gentle nymph
opaque cape
#

Just ask it here

gentle nymph
#

No

opaque cape
#

Well then it cant be that important of a question

#

Soz fam

stark tulip
#

The random adds are crazy

gentle nymph
#

Yes, exactly—that’s why I preferred to talk about it in private.

#

I search builder

opaque cape
#

I likely wont be able to help you

#

The builder role just means im making a mod

lavish lagoon
opaque cape
#

How do I change it xD

lavish lagoon
#

At the top of the channel list should be "Channels & Roles", I think you can change them there.

opaque cape
#

And ive done it 😄

lavish lagoon
#

Honestly, I think they changed the question though. I think it originally asked what we were interested in, but now asks what kind of player we are. I'm definitely not a builder, but I was certainly interested in what could be built with Hytale's blocks & furniture.

idle flame
#

Hi, I’m looking for modders, developers, and even builders for a Hytale server project. Contact me if you’re interested

surreal crag
#

Hi

languid veldt
#

This

radiant elm
#

hey everyone! I was wondering what is your experience with the servers, without mods how much ram does the server consumes? I average around 7.5GB with no mods and I was wondering if something is wrong on my end or is just expected to use that much. T~T

dim osprey
spark quail
#

what language is coding for Hytale in

#

I'm used to direct modding to the Minecraft client , and also server plugins with PaperMC

dim osprey
#

Java

spark quail
dim osprey
#

Yes

radiant elm
spark quail
#

I would be willing to make my own variant I like making coding languages but I heard they're adding visual scripting

dim osprey
#

You can unload and reload plugins, and any changes made in the Asset Editor will reflect in-game. However when i try to re-build then reload my plugin it breaks.

opaque cape
#

Mods will work in both singleplayer and multiplayer with no extra effort

spark quail
dim osprey
#

I mean you can do quite a lot at this point already with server-side mods.

spark quail
opaque cape
#

I dont see how it would tbh

#

Its already so easy to get into making a mod

dim osprey
#

It really is

spark quail
fleet sphinx
#

To abstract away the ECS is going to be quite a task. Not as straightforward as it is in Minecraft

opaque cape
spark quail
#

I love compiler dev already time to write a scripting lang for Hytale in rust

opaque cape
#

More power to ya

dim osprey
#

Rust huh

spark quail
#

rust deserves a religion, it's heavenly

#

error handling is pristine

opaque cape
#

Tbh id hold off until the game is more mature, alot is likely to change between now and 5 years from now

#

On making your own modding api

dim osprey
#

Yeah but you still gain knowledge

delicate patio
#

Hi, Is there any way (using plugins) to spawn a custom portal at a given position which leads to a given world?

spark quail
random briar
delicate patio
slim mango
#

anyone using kotlin for plugins?

deft shard
#

howdy, would anyone know where I can find the hytale client logs for when I add a server to my client and try to join that server? I've viewed the log at %APPDATA%\Hytale\UserData\logs BUT it doesn't show anything about adding servers or any failures when attempting to join. I want to see why it's not connecting.

tough thorn
slim mango
spark quail
tough thorn
#

Ooook well waiting for curse to approve my, what I hope will be a unified, Electricity API.
PowerConsumer (receive), PowerProvider (extract), and PowerStorage. Hopefully this will help people get started and we won't have a dozen different power systems like we did in early MC 🙏

wary lion
#

just made my network statistic system to track all types of data across all the servers on the network im working on i'm wondering if i should add any other trackers to it to be built in by default

#

Player Metrics:

Current player count
Peak player count (auto-detected)
Total joins/quits
Average session duration
Individual player session tracking

Performance Metrics:

TPS (Ticks Per Second) with 20-second moving average
Average tick time
Peak tick time
Total ticks processed

Memory Metrics:

Current memory usage (MB)
Peak memory usage (MB)
Total allocated memory
Max available memory

Game Statistics:

Games played by type
Active game count
Average game duration
Average players per game

Error Tracking:

Total errors logged
Total warnings logged

Custom Counters:

Track ANY custom metric
Example: blocks_placed, kills, flags_captured etc

#

thats all the metrics

tough thorn
spark quail
#

wait guys I should make like a scripting language that is compatible between both Minecraft and Hytale for like plugins, where you build the core in java but for most things you can just use my scripting lang

good or bad idea

tough thorn
#

Though I do love shadowjar I don't wanna work without it anymore 😆

tough thorn
spark quail
#

I'm gonna do it anyways, it's cooler if you hear that a 15yo made it

wary lion
tough thorn
slim mango
spark quail
#

meanwhile the person making it is gonna be an 8 year old prodigy who's made 500 operating systems better than anything seen publicly 😭

wary lion
tough thorn
tough thorn
#

I mean, don't stop, do it anyway. Try, fail, learn, success 1000x till you nail it that's the only way to learn.

tough thorn
spark quail
#

I've made several compilers and improved my codebases each time, it's like the #1 thing I do whenever learning a new language

#

they aren't the craziest things ever, but I typically use llvm ir whenever I want an exe target

#

however I typically use a custom bytecode format and just make a VM for simple execution

wary lion
tough thorn
#

Yea I'm not saying they're alll bad lemme be super clear, a lot of them have started learning younger.

spark quail
tough thorn
#

I'm just... tired of reading crappy PRs 🤣

fleet gulch
wary lion
spark quail
fleet gulch
#

gaming is a great way to get younglings into the door with coding and all things digital

spark quail
wary lion
#

2012 my server blew up i had no idea what i was doing my mom thought i was doing something illegal

spark quail
#

the main ones made in C/Assembly but I tried out making one in rust and I just could not. so I moved back to C/Assembly and it's home (I'll probably use rust for higher level things that don't require like inline assembly every two lines)

spark quail
spark quail
wary lion
spark quail
tough thorn
#

Just work at it and try to make public things. Once you get good enough start working somewhere, engineers get paid good money, and make your own stuff at the same time.

wary lion
spark quail
#

but hey at least I code and uh... make up constructed languages for fun

to falu kêa laêkê bêç to... to þu têko? to þaê no 🤷

orchid harbor
#

Hey did anyone made a player count aggregator plugin? like instead of taking the player count just from the current server it sums the player counts of a list of sub servers

desert agate
#

Is it possible to build structures in creative and save them somehow to world gen them later?

#

I assume through prefabs - but not sure how to gen the prefabs

orchid harbor
desert agate
#

Unless that is there as well lol

blazing cosmos
#

how do you change the position of a block in your hand in both 3rd and 1st person?

wary lion
desert agate
wary lion
keen vapor
#

should I change the group id for a plugin or leave it on dev.hytalemodding

opaque cape
opaque cape
#

Mine is com.shubshub.plugin

keen vapor
opaque cape
#

eg com / shubshub / plugin

keen vapor
#

oh so extra folder for each word?

opaque cape
#

Yeah

#

eg if you changed it to apples.pizza.pineapple then itd be apples / pizza / pineapple for the folder structure

keen vapor
#

okay, thanks

opaque cape
#

All good

remote knoll
#

I've been struggling to get /prefab load (structure) --children to work, theres something wrong with the children flag. Can anyone get it to work?

opaque cape
#

Oh no

#

I just realized now I have to make a logo for my mod eventually

#

No using AI for that

rain shard
opaque cape
#

I will, I can actually draw a tiny bit mostly pixelart

dire cloak
#

Hey, does anyone know how to move NPC's to position with pathfind?

keen vapor
#

Hey, does anyone know where Mushroom blocks are located in the assetpack?

buoyant leaf
#

does anyone know how to translate player position to chunk position and back again?

opaque cape
boreal ruin
#

Hey,
is there something like a Task Scheduler or tick based system to create time based tasks?

boreal ruin
buoyant leaf
opaque cape
#

You may need to round up or down potentially

buoyant leaf
opaque cape
buoyant leaf
#

No clue how the rounding is determined there

opaque cape
#

If above 0.5 round up otherwise round down

#

Or potentially floor always

#

Whats the actual real chunk position? That will answer it

buoyant leaf
#

(-10, 3, -7) is the actual

#

hence the sus rounding

opaque cape
#

Interesting...

#

That is weird xD

#

You may need to first clamp your own position to the nearest whole number

gusty pike
#

how can i learn to make hytale plugins for servers

untold solstice
#

Does Hytale's ECS system have a general method to 'check if a component has just been added' so that I can execute component initialization logic?

boreal ruin
jolly kelp
opaque cape
#

Within 48 hours ive got an entire mod basically done

jolly kelp
#

I will sooner feed myself to piranhas than I would use any LLM, but the rest of that does sound quite useful!

opaque cape
#

Each to their own, You dont have to let it write the code but up to you

untold solstice
boreal ruin
last raptor
#

Has the Connect package been changed in this update?

boreal ruin
opaque cape
boreal ruin
#

Yeah, I think understanding the concepts of how to code is the most difficult part

last raptor
opaque cape
polar cave
#

I'd like to get into the modding scene of this but i'm kind of clueless about it all

Is the create your first plugin guide on the hytale.game site a good place to start? (and get the links to the important stuff?)

opaque cape
#

But asking Claude how to do various stuff has made it easy to get into

opaque cape
#

Its 3 minutes long and gives you the basics

last raptor
boreal ruin
last raptor
#

Keep in mind that AI can introduce several flaws in performance, stability, and especially security.

opaque cape
#

I use it as an assistant and try to implement it myself

boreal ruin
#

Same. But it does many mistakes because the Hytale API is relatively new

opaque cape
#

Thats why you also have a copy of the Hytale Server source in your workspace