#server-plugins-read-only

1 messages · Page 18 of 1

prisma agate
#

They said it'll take a while for the source iirc

#

Due to legal stuff

dusky plume
#

source is released since day 1, without documentation or api

#

thats what they said

novel barn
#

they said source will take a while after release for legality stuff

prisma agate
novel barn
#

"We will provide server source code access within several months, once we're legally ready to do so"

dusky plume
#

well, officially yeah, but server is going to be released without obfuscation

#

you can decompile, read and recompile

novel barn
#

yeah but thats a decompilation not source

dusky plume
#

you can read the .class files as they are in the project

novel barn
#

yes by decompiling

dusky plume
#

its the same as releasing the source

#

you just get the source by yourself

novel barn
#

its not releasing source 😭

dusky plume
#

xd

novel barn
#

its getting src yourself

dusky plume
#

decompile and pull it to git

#

the its source released

novel barn
#

better be on gittea 😭

sharp jacinth
#

Yeah them releasing code as intellectual property and you opening recaf are different
Your decompilation won't include the comments and maybe doculentation they will release along with the source

prisma agate
daring lodge
#

we need the build.gradle

prisma agate
#

Actually does the server have any deps?

hoary robin
prisma agate
#

Hopefully it doesn't

arctic mist
prisma agate
#

If it has deps it'd be annoying to build, in which case getting the build files would be nice

cinder kiln
#

I don't see a world where it has zero external dependencies, I would be surprised it it doesn't use netty even tbh

prisma agate
#

Actually I haven't used java in a while, what is inside it's standard lib and I can import without deps

#

Surely it has basic tcp/udp network code in it?

cinder kiln
#

Yes, it does, but it's not the easiest to build off of and you save a *lot* of time and effort by using something like Netty or Spray

arctic mist
#

Already covered by java dot net and java dot io packages so at least the network part is covered

novel barn
#

if i had to guess, probably netty

arctic mist
#

If they didn't reinvent the wheel as well I would say Netty. But even if we have to build it, usually Gradle/Maven are really quick

prisma agate
#

What does netty do that makes this easier

novel barn
#

netty is already used in production everywhere and its fast

#

why make a car from scratch when people already make it

prisma agate
novel barn
#

if something goes wrong its user fault 😭

arctic mist
novel barn
#

and netty is open source

daring lodge
#

hopefully they integrate cryptocoins somehow

prisma agate
novel barn
arctic mist
prisma agate
tidal mauve
prisma agate
novel barn
#

netty been tested to hell for a decade

tidal mauve
novel barn
#

its enough for a game server 😭

cinder kiln
arctic mist
# prisma agate This has 0 explanation for what netty does that is useful compared to built-in j...

Yes, you will learn how to make a car (code) , but it wont have all the reliability of a car designed by experts on focusing only the car (in this case, developers focues only on a framework for Network). You would reach the reliability of Netty one day, but after some insane time to build something that, well, already exists. Unless your solution is better than Netty, which I dont say is imposible, it would justify the effort. But even with the justification, the time to pull that off from 0 would ate Hytale development

prisma agate
novel barn
#

you wont believe how netty works

cinder kiln
#

In very simple and complex applications you can get away with using the builtin NIO, sure, but you don't gain anything at all and will reinvent like 40 wheels

arctic mist
prisma agate
novel barn
#

nio doesnt optimize, thats why netty exists

prisma agate
#

I rolled my own packet framer in go, it's not that hard and only took a day or two to implement, for back pressure I just dropped packets once a queue was full, alternately I could've also blocked but in my case dropping was the better choice

novel barn
#

ok but for a game running on a mass amount of clients/servers, it's better to use something you already know won't cause problems

cinder kiln
#

i.. i'm not even going to bother, really, lol

novel barn
#

"i made a packet framer so everybody should" is the argument

prisma agate
novel barn
#

so you can make the thing you want

#

not waste time on the network behind the thing you want

tired geyser
#

Why even use a processor honestly

novel barn
#

why would someone buy a cpu when you can make your own

tired geyser
#

Precisely what I'm getting at vops you get it

arctic mist
prisma agate
arctic mist
novel barn
tired geyser
dusky plume
#

why dont just build another framework and you have 24 frameworks competing

tired geyser
#

Whos older Netty or Kyren?

prisma agate
# arctic mist What protocols do your packet framer support? Is it thread safe? Against an alre...

JSON and msgpack, and can be expanded easily, it's just the 2 that made the most sense for my project, yes the entire protocol is documented, it is thread safe
And I was running it on my own vps running the server for the project

I didn't compare perf with anything else bcz I had no reason to, but it can probably scale to 1k+ connections (I don't have that many users, so I can't know for sure)

tidal mauve
#

json aint a protocol

#

thats a data format man

prisma agate
tidal mauve
#

thats so different from what was asked though aint it

leaden zephyr
tired geyser
#

🍿

shy crest
#

Now I was of the impression that they had implemented hot reloading, even for mods. Is that true?

shy crest
#

That's nuts. I can't wait to try it out.

tidal mauve
#

though im not sure how official or confirmed the wiki is

#

but iirc its knowledge base from QnA and other posts, blogs and comments

shy crest
#

Something tells me that the JVM is relied heavily on in order to get hot reloading for mods. Windows processes don't usually like it when you start rewriting their instruction RAM midway through. But with the JVM, it's much more forgiving since it's all technically data-driven.

novel barn
#

i mean you can already hot reload stuff pretty well when making stuff for fabric

magic stirrup
#

If they use netty for the server, it'll be very interesting. The quic codec of netty is still in incubator state. I guess Hytale will battletest that part.

devout cipher
#

evening all

west yew
#

Do we know what protocol servers will support already?

west elk
west yew
#

Thanks. Need to start planning these updates for my server list site. 😅

fringe ore
#

There's like 20 people making automation projects. I hope we all can just work on a few good ones

plush torrent
#

Battle royals are more fun though

tired scarab
#

The server software will come with the release right?

near raptor
#

Yes but the source won't be available at launch yet, that will follow some months later

pliant sand
#

Will the backend still use Java?

brittle estuary
pliant sand
#

Thanks!

severe lagoon
#

I don't get this. Why would they do this. To torture me?

severe lagoon
#

exactly

tired scarab
#

What would you prefer?

severe lagoon
#

Well I assumed they would use c# since they claimed to have used it to build the game. So why the second language that is similar to c# but worse in every way at least I can think of it?

near raptor
#

The client is written in C#, but the server in Java

pliant sand
# tired scarab Using java?

I honestly think Java is the best option we could’ve gotten, so many Minecraft mod and plugin developers can start creating content from day 1

severe lagoon
#

Well I disagree here. Introducing old stuff into a new project just because many people have started to enjoy their torture chamber does not sound fun to me.
But I see your point.

compact crypt
tired scarab
#

To be fair if the base is java you are free to use Kotlin instead of java and I would argue that kotlin is even better than C# for most people

near raptor
#

"old stuff"? Java is very much still in use, also outside of Hytale. But eh, you can also use alternative JVM languages like Kotlin (which I use personally).

leaden zephyr
#

Java came out 5 years before C#, and they're so similar anyway. I really don't get the argument. It might be personal preference, but they're practically twins.

severe lagoon
tired scarab
#

And like I said there is still Kotlin which can be used

compact crypt
hollow hollow
#

Every language is a tool, pick the best tool for the job.

tired scarab
#

But some features are still lacking, like where is my null safety?

cinder kiln
#

Another thing is that there's plenty of existing large plugins that are built to be platform-agnostic (e.g., LuckPerms) so porting something like that to Hytale wouldn't be impossible

leaden zephyr
#

You're always free to create your own server implementation in C# or whatever language you prefer later on.

tired scarab
tidal mauve
#

maven my beloved

severe lagoon
#

I am disgusted

pliant sand
daring lodge
#

were not in java 8 stone ages

leaden zephyr
leaden zephyr
cinder kiln
#

I don't prefer the choice of Java over C# either but it's perfectly logical why they chose it

tidal mauve
#

id say i dont care.
as long as its a language which is readable (not rust or python) i will write in whatever i need to

#

give me cpp modding

cinder kiln
#

I suppose nothing would be stopping you from making your own JNI+JVMTI based FFI ;p

near raptor
#

I would prefer the server to be written in Haskell, so that I can justify taking a 10 year course in Monads, but you can't have everything 🙁 /s

leaden zephyr
#

Give it some time, there'll probably be plenty of community server implementations or something like "Skript"? eventually. Hypixel_LMAO

tidal mauve
#

god my message just got censored and i dont see what couldve triggered it

#

cyrillic symbols are. for real?

leaden zephyr
#

🤣

tidal mauve
#

anyway, i forgot what i was saying

#

right.
server being written in java saves us the unbearable reality of most gaming servers - windows servers.
and while c# can be compiled for linux, the process is much less versatile compared to what java offers

#

something makes me doubt itll come out as a ready to use docker image either

woeful depot
#

You will be fine

near raptor
#

A ready to use Docker image would be nice, but is indeed unlikely. Though dockerizing something is usually not too big of a deal.

woeful depot
#

Pterodactyl egg will be out on day 1 by the studio or the community so don't worry about deploying it

cinder kiln
#

Someone will probably have a docker image and pterodactyl/pelican egg made in an hour of its release lol

tidal mauve
#

pterodactyl bad bruh

surreal steeple
#

I have 0 coding experience outside of making user lookups in Neopets. How do I get up to speed in a half and a half.

cinder kiln
woeful depot
#

Try to understand java basics and then learn OOP

grave saddle
#

Hey guys, any official docs available yet?

woeful depot
#

Not yet

near raptor
#

Nope, the game has not yet released

grave saddle
#

thanks

prisma agate
prisma agate
woeful depot
#

Like don't you follow any patterns when you are coding

prisma agate
fleet isle
#

I imagine it's going to be a lot of figuring out

woeful depot
#

Alright

leaden zephyr
#

Java is OOP. It's not optional. 👀
But Kyren is right, find whatever works for you, whether that's YouTube or a book, and start learning the basics.

Learning Minecraft plugin programming will almost certainly benefit you for Hytale.

near raptor
#

I fail to see how you cannot do OOP when you use an OOP language :p

#

Writing Java without using a class is quite difficult

rocky spire
#

Yandere 2.0

prisma agate
leaden zephyr
near raptor
#

10 levels of inheritance is indeed a nightmare, but composition (through interfaces) is not so bad. Design patterns are quite useful to structure your code, but you don't have to use all of them all the time, sure.

rocky spire
#

Things that make coding more scaleable and efficient = bad

prisma agate
#

I don't have to do all these things in java, java encourages OOP, but u can write code without these

tidal mauve
#

you have misconception of what is oop

#

like i totally agree that factory builder factory is a joke in a context of minecraft plugins

prisma agate
near raptor
#

Builder pattern is ❤️

#

Or well, a syntax using .withX(...)

prisma agate
rocky spire
#

How many times are you calling? I’ve experienced negligible impacts to performance. Then again I don’t normally do large projects in Java.

leaden zephyr
#

That's just overengineering. Java is still OOP no matter how you write it.

prisma agate
compact crypt
#

Programming with only OOP in java has made me a considerable brain rewiring

tidal mauve
#

we live in an age where people throw hardware at optimization problems anyway

prisma agate
prisma agate
leaden zephyr
# prisma agate What's overengineering? (As in what r u referring to)

The things you listed. Forcing design patterns, deep inheritance, and excessive abstraction is overengineering. But that's not what OOP is, that's just bad OOP. You can use objects simply without all that bloat.

Maybe i did not understand what you wanted to say. If so, i apologize. 😄

near raptor
#

I don't really agree with this take personally, it is a bit short-sighted. I have written plenty of Java in the past 10 years or so, if I didn't use any "OOP" or design patterns, I would argue that the maintainability of the software I wrote would be much worse. Design patterns were created for a reason, but you should use them where they make sense. And you don't have to create 10 levels of inheritance to structure your code "properly". I personally try to stay clear from inheritance, but sometimes it suits a use-case quite well.

leaden zephyr
#

^ Agreed

prisma agate
#

Yea I think we mostly agree, it's just that I am more extreme

I never use inheritance
I only rarely use interfaces
I don't create stupid stuff like singleton/factories etc
I don't base my architecture on design patterns (but some may emerge naturally)
I basically never private a field and I only wrap with getters and setters if there is a concrete need

woeful depot
woeful depot
leaden zephyr
prisma agate
arctic mist
woeful depot
prisma agate
leaden zephyr
#

Thanks for the chat. Good night y'all.

tardy stone
#

Add LuckPerms

eternal rune
# tardy stone Add LuckPerms

Port Luckperms, don't just 'add' it. LuckPerms is perfect as-is.

And if Hytale has a permission system, mod it away for LuckPerms...

#

I really want to see some alternate Fast-Travel like plugins.

Give me rail systems that let you 'time-skip' / teleport the players far ahead.
Give me Stargates.
Give me Nethers.
Give me Mounts.
Give me Flying.
Give me Flight Points from WoW.
Give me Valheim like portals.

Such an open design space.

eternal rune
# prisma agate I guess OOP has very overloaded terminology, so let me clarify OOP for me is 1....

Give "elegant objects" a read over. It really highlights some of the ways that OOP was misinterpreted.

I don't agree 100%, but funnily some of the Java 20-25 validation features work really well with it.

The various talks are a little bit crap, but once you understand the core message, and are willing to use more abstract objects and violate the SRP principal, you can end up with some really elegant code with it, even if tightly coupled.

modest burrow
#

Will we be able to run servers on the 13th?

brittle estuary
finite charm
#

Do we know if hytale plans on staying compatible with the latest releases of Java for the future or will it stay Java 25 and not update with Java updates? Cause minecraft is only on Java 17 i think

modest burrow
finite charm
near raptor
#

Besides, Java is backwards compatible, so newer versions of Java can run older compiled jars

modest burrow
#

So we can’t make plugins nd stuff?

brittle estuary
finite charm
brittle estuary
#

They're very focused on letting people create plugins and servers from day 1

#

They've said they're relying on it to build the community and popularity of the game

zenith mist
#

I can attest that im gunna be using a near professional level team for hytale for my server development

#

Im going todo my best to make a awesome experience for everyone

worthy cliff
zenith mist
fleet isle
#

oh there's gonna be a lots of competition

zenith mist
#

But im including technoblade into the lore itself

#

Thats the only hint im giving ya

#

I predict my server will have around 5k users ish

#

The highet end around 25 k

worthy cliff
#

confident huh

zenith mist
#

Yeah

fleet isle
#

it will be interesting as to how many players will one server instance be able to handle

zenith mist
#

A server would need to be beefy if its early

#

The games not optimized so the server costs ain't gunna be cheap

fleet isle
#

but I kinda doubt this very first early access version will be able to handle 5k players... I think 1k is already too many

zenith mist
#

Yeah

#

The stuff I have to build is also massive

#

I have terra form the entire continent

#

Pain

prisma olive
#

Who knows maybe the server is optimized to use multi-core cpu

fleet isle
#

the client seems to be somewhat optimised based on the videos, so it's not out of the question that the server could also be

prisma agate
eternal rune
prisma agate
devout cipher
lofty shuttle
#

Hey i got a quick question i got a seperate pc im going to run my hytale server on (its gonna be on linux os) does this matter or should i do it in windows im not too into making my own server so trying to figure it out before the game is out

arctic mist
#

As long as your linux machine can run Java, and have the required ports open for the network part, you shouldn't worry about it

lofty shuttle
#

yea ive seen tutorial's of people using AMP hosting thing and i wonder if thats worth but i think the hytale server thing has to be added to it

#

or the game not sure how it works tbh lol\

frail cradle
arctic mist
#

I believe they will be using transfer packets, dont know much about the deeper details but not the same as in minecraft

fleet isle
arctic mist
lofty shuttle
frail cradle
lofty shuttle
arctic mist
frail cradle
lofty shuttle
zenith mist
#

To respect the guy

frail cradle
prisma agate
#

Why would u need many implementations for a database? All u really need is a way to execute SQL queries

I don't unit test much, only rarely for hard stuff that took a few iterations to nail, but I do stuff like golden testing for other things

And I do very rarely use interfaces, only when writing a library where I want to allow the user to provide me with functions I can call, otherwise in most cases I just use an enum and a switch statement

sacred tulip
#

You don't need unit tests for everything

sterile dove
sacred tulip
#

So don't write unit tests for your interface database or vehicles and the problem is solved

prisma agate
#

U r never going to need multiple DBs at the same time, so u can just wrap it behind ur own db, and then u can switch DB.connect() to Maria.connect() or SQLite.connect() etc

Drivable is kinda a bad example and very contrived but even if u go with it, u can just have a Vehicle class, with an enum indicating which vehicle it is, then just a single drive() where u do a switch on the enum, ignoring the perf benefits of avoiding a potential branch miss due to the virtual call, I prefer grouping by action (driving) than by data (class)

formal wind
#

you select the best one for you -> when it doesn't work for you anymore you swap -> dont sit and add multiple database support for 50 different stuff

prisma agate
#

And good night! I'd respond tomorrow

vernal niche
#

As someone who is just picking Java back up after 10 years this is all so fantastic to watch lol

sterile dove
#

Whos gonna explain 12 year old kid that he needs mysql so his plugin he downloaded will work

sterile dove
outer charm
#

✋🏻

flint aspen
sterile dove
# flint aspen Im confused on what your question is

Which part, alex was just wondering why i dont force 12 year old players to use mysql for their mods, i would rather give them option to use it if they want and default to sqlite or something so they would have plug and play mod

outer charm
#

why can't i download

formal wind
#

I don't wonder, i'm wonderful

sterile dove
#

Since server owners might prefer something other than sqlite, mayby mariadb with redis or something for their network

flint aspen
sterile dove
flint aspen
#

It just depends on what your goal is ig

sterile dove
#

Ofc

formal burrow
#

im gonna be honest: im glad that Hytale is going to release next year because I'm going to see family next month and I don't wanna be focused on work

#

if hytale becomes as big as it sounds like it it's going to be hard for me to take breaks

formal burrow
# sterile dove Oh nice:)

a lot of people are, keep in mind if the game came out christmas week, the plugins don't even exist yet, people should have the time to spend time with their loved ones before what's about to happen, happens

sterile dove
#

Gn!

rough dove
lost fable
#

How you guys plan to implement Partys? Websockets?

west elk
lost fable
#

Minigame Network Parties. Cross Server stuff

west elk
#

websockets can make sense for cross-server communitcation. But I would probably do the sync via database events

lost fable
#

Yea I guess that would Work aswell, but when I think about stuff Like Party Chat I think websockets might be the better solution?

west elk
#

You can also go for Kafka or RabbitMQ ^^

red venture
#

Seems super overkill

tame nexus
# prisma agate U r never going to need multiple DBs at the same time, so u can just wrap it beh...

"U r never going to need multiple DBs at the same time" I've seen many times companies use 2-3 DBs if that be for splitting up clients or more smart such as using Clickhouse+MySQL+MongoDB as each has pros and cons depending on the type of data. Easy example would be I've got a HytaleMetrics project and that uses MySQL but also SingleStore.

Why store Stats for example in Mongo, that should be ClickHouse but you want logs in say MySQL and more dynamic storage in Mongo. While I doubt Minecraft servers for example go to that extreme [some do] I would never say never.

red venture
#

Document store, queues, relational, it does it all

bitter nacelle
glass crag
#

are we getting a server jar on release?

bitter nacelle
#

should be available in the launcher, forget where I saw that.

sacred tulip
west elk
warped niche
red venture
scarlet atlas
warped niche
#

i like it mainly cuz u can deploy on a different host machine a lot easier, which has been good for plugin dev in minecraft

ocean hedge
#

I like sqlite as well it seems to be the most portable

#

I've preferred it over MySQL or mariadb in the work I've done

tidal mauve
#

i usually use sqlite and redis

torpid iris
#

Hi! Is there any information about the server release? I mean we can download/run dedicated servers on day 1?

pulsar anchor
torpid iris
#

Thx, I found the answer in the Q&A channel

fast bear
#

TUNG TUNG TUNG SAHUR

prisma agate
# sterile dove So if i make economy plugin, am i gonna force everyone to use sqlite since singl...

Yea exactly, just use SQLite
But if u really need to use psql or MySQL or whatever, worst case u just change the implementation

U can do "interfaces" without interfaces, u can have a EconomyData class which has .connect .close .execute SQL or whatever, then it calls an actual db API, if u switch a DB u just touch that class, if u want runtime choice for some reason, then just add a switch (or an interface) later, when u do need the scale that SQLite doesn't work at

Also about switch getting huge, writing the same signature in each class is probably more typing, but in any case, typing isn't a huge issue and java is already very verbose

sterile dove
#

why wouldnt i give them the option to choose

#

We are talking about Java, and denying interfaces and inheritance ect is very weird

prisma olive
#

I would not use SQlite for production server... It Is not capable to handle concurrent query as well as other RDBMS due to its very simple locking mechanism

prisma agate
# tame nexus "U r never going to need multiple DBs at the same time" I've seen many times com...

My point was there is no point in switching, after u choose MySQL, unless u run into scaling issues, u r gonna stick with it

But also u r probably not going to hit the scale where storing one thing in a standard SQL db is going to be problematic where u need a dedicated specialized db, like u r probably not collecting as many analytics as Tesla or anthropic do, and personally I'd rather not take on that complexity, but u do u

stark sphinx
#

@sterile dove :-DD

prisma agate
# sterile dove why wouldnt i give them the option to choose

Bcz that's added complexity, for both the dev and the user, the user probably doesn't even know what a db is, let alone their difference, and SQLite would scale enough for most stuff, don't plan for "what if", if someone asks u to add psql bcz SQLite is too slow for them, then send them a version with psql or add it as an option

turbid carbon
#

Servers will be available since 1st day of release? I mean, there will be a guide on how doing one, adding plugins, etc?

prisma agate
#

Source will "come in a few months due to legal reasons"

turbid carbon
sterile dove
#

That makes no sense, nobody does that and shouldn't thats what config's are ment for you can choose which to use sqlite or mariadb

prisma agate
#

U can also use SQLite as a multi server DB

sterile dove
#

ofc there is actual need

prisma olive
sterile dove
#

ur saying basicly that luckperms should only have 1 database implementation? and have 10x jars for all other types they support

#

It would be just bad design

prisma agate
#

Unless u need a distributed db which is something else entirely

sterile dove
stark sphinx
#

psql and if someone complains you call 'skill issue' and block them

prisma agate
sterile dove
#

The thing is, some people make plugins for the community and not just for themselves

prisma agate
#

I don't see how that's different

prisma olive
sterile dove
#

Also using sqlite as remove database makes no sense, just choose some actual remote db which was made for it

stark sphinx
#

It's a "learning experience" and "growth opportunity" in linkedin terms for the kids to learn databases

prisma agate
prisma olive
#

Setting up pgsql Is also super Easy why should a server owner worry about it?

sterile dove
#

I guess luckperms is just bad design since they allow sqlite and remote databases

#

I think its good, but u can disagree

prisma agate
dark cape
#

how about.. do as you like and think makes sense and learn from mistakes

sterile dove
prisma olive
#

Yeah, eventually you will change if the requirements changes, really depend on your target server population.

20 players server are really different from 1k player server and they need different solutions

sterile dove
#

Ye developing plugins for thousands of people is way different than to ur friend group

#

thats why config's exists

formal wind
formal wind
#

you never know when a surge of users/players join the server and suddenly it crashes or it can't receive connections or everything lags

stark sphinx
#

if your server planned and built for 20 people suddenly jumps to a thousand, the db setup of a plugin is the least of your problems

formal wind
#

I could def crash the whole server lol

sterile dove
#

I can make a server for 1 player and u cant crash it only because it uses sqlite

formal wind
#

You guys have never flooded anything and it shows

#

Anyone here that don't think it's possible has never had a job within IT infrastructure and it shows 🤣

sterile dove
#

sure, i load player settings from sqlite to map, how do u crash it

formal wind
#

You realise loading requires a connection?

#

Do you know what flooding is?

sterile dove
#

that wasnt the point

formal wind
#

Yeah makes sense

sterile dove
#

if i design a server for 1 player and it uses sqlite u say u can crash it because of it

formal wind
#

Do your infra then let me join your server lets see how long you wanna handle the plugin the way you're doing it

fleet isle
sterile dove
formal wind
#

well in this case it also depends what player settings you're loading, if it's only a currency change for example it's not gonna work

sterile dove
#

yes

formal wind
#

the more information it holds and the more changes it requires in the database the easier it is

sterile dove
#

so what u mean to say if something is designed for small player amount doesnt mean u can definitely crash it, and that was the whole point of this

formal wind
#

If your first thought process is to design a plugin for small “amount of players” you’re doing something wrong

formal wind
#

Hey let’s take RuneScape as an example because you like it, do you think they have multiple of databases for their needs? They have 200k players on osrs rn

sterile dove
#

I think ur missing the whole point

formal wind
#

Do you think they have more than 3?

sterile dove
#

so instead of sqlite i should always have something like redis and mariadb?

formal wind
#

No the database won’t matter, it’s how you handle it

#

That’s was gonna be my point

sterile dove
#

but having millions of users with sqlite, i wouldn't recommend it

formal wind
#

I mean I store a large database in SQLite rn

#

Just user accounts: 3m rn

#

I do recommend honestly it looks pretty as well

sterile dove
#

So i guess u missed the whole point, u said u can crash any server which isnt designed for big corporations basicly

#

idk why argue about something when its pretty obivious that u don't need to design every system to handle millions of users

formal wind
sterile dove
#

it does matter

formal wind
#

Ok so your plugin is gonna fetch the data and store every action sent (changes) and when I send 3m packets in seconds you gonna handle it perfectly fine right?

sterile dove
#

I dont think that big companys use cloud for 0 reason, they want speed, high availability, scaling, u think they would be fine with 1x mariadb and 1 server ?

formal wind
#

You realise the reason they use cloud is so their cost is minimised because it wouldn’t be cheaper and they rather pay someone else so they don’t have to take the blame if something happens? Or because they aren’t expert in that field but the company is supposed to be

sterile dove
#

its designed to be used by millions

#

🤦‍♂️

#

Ok im done arguing this doesnt make sense:D Im just getting ragebaited

formal wind
#

It’s like talkin to a wall that doesn’t understand what plugin design really is about

#

Go design your plugin for 20 users, every plugin you have gonna have a database 🔥

tame nexus
# formal wind Yeah except the reason why they have it is because they have multiple inhouse ap...

Thats quite legacy, a lot now have the same web servers (lb) queue servers etc just separate databases. The database side is for security but also scaling. I can host by default say 100 clients on db1 then a massive client alone on db2 and keep adding that way, you can indeed also partition, shard etc etc - You are 100% valid tho I’ve seen a lot of “each client is separate in all ways” approach 🙂

formal wind
#

As you said it’s for scaling

tame nexus
#

To put myself to shame, I actually did this once.. 😂 Many many years ago I think it was a minecraft plugin and I was maybe 17 at the time (29 now) I didn’t want to deal with mysql etc so i slapped in a way to handle it all with Google Spreadsheet and it worked but holy hell it was slow! (also bad rate limits haha)

tame nexus
#

I think it was when i used Skript and it had an addon for sheets 😂 Not my finest moment as a young lad haha

sterile dove
prisma agate
#

It's mostly convenience/not knowing there is a better alternative

tame nexus
#

Cloud turned out to be bad expensive for a lot of companies that followed the hype train sadly!

formal wind
#

Well not going full cloud is the smart decision

#

CSS only

prisma agate
sterile dove
#

can do ui's with xaml possibly

prisma agate
#

Renting will always be more expensive than owning

scarlet spoke
#

Shouldn't cloud basically provide fast access worldwide and prevent traffic to the original server but if it fails fallback to the original server?
I mean that's the whole idea behind it, isn't it? 😄

fleet isle
formal wind
tame nexus
# sterile dove Now u get it:)

I cant remember if it was you i replied to at like 4am about this and maybe started this mysql debate.. Sorry if it was!

To be clear however everyone should take this sort of discussion as a learning debate. I grew up as a developer feeling like i needed to always be right and know all, instead you need to be open someone always knows more and is better so utilise those skills and learn because some day you’ll be better than them. Mucho love!

tidal mauve
#

chineeze minipcs go brrr

prisma agate
#

I rent a VPS just bcz my internet is terrible, I have 16 cores and 64gb ram, can easily dedicate 4 cores and 8gb to match my vps, but 5mbps upload ain't cutting it

scarlet spoke
tidal mauve
tame nexus
fleet isle
prisma agate
scarlet spoke
scarlet spoke
tidal mauve
#

upload limits are artificial

prisma agate
#

Huh wdym

formal wind
tidal mauve
#

but i only got one 4u supermicro chassis there for my NAS

#

take a wild guess

sacred tulip
formal wind
#

As a customer I'm not fine when my stuff goes down because of amazon is down and I lose money

#

That's why I don't use them, my uptime is 100% since I began using my own servers

#

Well in my case I also have 2 links so if an ISP goes down I have another one

sacred tulip
lost shadow
#

Has any more information been revealed about the transfer packet?

#

That it exists

scarlet spoke
#

If you use your own network, it's not important, cause u basically can get all players data from the nametag.

Probably good if you want to handle hub servers and tell the other server how the player looks like on the hub server

viscid wren
#

I wish we had the server API so I could make some plugins already 😭

formal wind
#

Probably isn't accessible because of all the changes they are making which would make the current version useless

lusty topaz
#

When API coming out? Or any viewable server structure for that matter

formal wind
#

No one knows, just gonna assume around early access release

lavish creek
#

Do you know what language the plugins will be programmed? This is my first time in modding, but I have a lot of experience in software development.

spiral nebula
#

Java

#

They will be .jars. if you're familiar with Minecraft, you'll understand them easier

lavish creek
#

Java is good for me, do you think starting to do minecraft moding will help to have more experience for the day Hytale comes out?

spiral nebula
#

Definitely

final forge
lavish creek
#

Another idea that came up with, is it possible or common for the Java code to request other microservices in other languages like Node.js?

dark cape
dark cape
red venture
lavish creek
#

Thank you very much, it helps me experience. When they announced Hytale, I was starting college and I could not program. Nowadays I am a programmer, and I developed a very popular and large SaaS in Argentina, but my experience in modding and video games is nil hahaha, I wish I could collaborate in the community, as I dreamed of as a teenager. Thank you all!

lavish creek
red venture
wide shadow
stray pasture
#

Does anyone know if Hytale is going to make a C# bridge for plugins? (I mean we could do that likely) - I just wanted to know if C# would be an officially supported language. 😄 (Best of both words)

wide shadow
spice sluice
stray pasture
spice sluice
prisma agate
#

Java and C# r basically the same lol

stray pasture
# spice sluice You can still use other JVM languages

This is true, but its not Java that is the issue, its the JVM system as a whole. - I find it archaic and lacking. I have built up a substantial amount of libraries due to my work as a game developer. And feel a binding would be a very useful way to utilize my past built systems rather than porting them. 😄 - But as Kyren states, they are essentially the same language, totally different paltforms that power them.

spice sluice
#

I think bindings would kill any potential performance gain you could possibly get by C# anyway.

prisma agate
spice sluice
#

But idk if C# is considered more performant as a whole. What JVM lacks are primitive structures. Maybe someday we will be able to use valhalla

prisma agate
stray pasture
#

Correct, nothing is wrong with the JVM, I just don't prefer to write in JVM based languages as I have years of investment in the .Net platform - Due to them being very similar bindings would not be that difficult. But the VMs work differently. So you can't directly compare the two without considering the ways it can be optimized, such as C# unsafe and pointers and AOT - (Which negates the entire .Net platform any how but is able to get very close to C++)

So correct, it is all pure preference and not a pure technical reason. They can accomplish the same.

prisma agate
#

Java can also do AOT, any jit VM can

#

Also I am with you, I would rather write cpp (or C)

scarlet atlas
#

Or why not PHP am i right

spice sluice
prisma agate
spice sluice
#

Why would you prefer C++

primal shoal
#

the only thing it has to do is conform with the client protocol

stray pasture
primal shoal
#

I see

prisma agate
autumn raven
#

I just hope they add C++ and Java compatible plugins

prisma agate
#

But basically every other cpp feature is just garbage

spice sluice
primal shoal
#

kyren I swear I've seen you in the zig server, I'm going to be writing a zig server implementation

prisma agate
spice sluice
prisma agate
stray pasture
prisma agate
prisma agate
spice sluice
#

Not sure what do you mean by "control of C"

stray pasture
#

But rust has cool names! 😄

primal shoal
spice sluice
prisma agate
spice sluice
#

Then answer would still be rust

stray pasture
#

Well, I disagree. Rust and C++ have their places. - Rust has type safety, C++ has a massive list of battle tested lbraries. Operationally very similar.

prisma agate
spice sluice
prisma agate
primal shoal
spice sluice
#

As I understand if you simply enjoy punishing yourself it's ok 😄

prisma agate
stray pasture
primal shoal
#

I try and separate the language from the community. Those things you mentioned aren't super important if you aren't doing anything at a super close to the machine

#

like writing a plain old webserver

prisma agate
modest burrow
#

Did you forget about templates, constexpr, consteval, coroutines, lambdas.

prisma agate
# primal shoal I try and separate the language from the community. Those things you mentioned a...

U r running the code u write on a machine, it's important to be aware of it and how it works

Also the language itself is just pointless imo, it's very much not "blazingly fast" and not really a low level lang, so if u want low level control, there are better langs, if u want FP stuff use ocaml or elixir, so it really doesn't have a place

The main reason it's so widely adopted is mostly due to the propaganda for stuff like safety

primal shoal
#

Yeah I'd still choose to use gleam or elixir for anything that needs to be scalable

prisma agate
modest burrow
#

Ah yea you can’t trust this guy btw

near raptor
#

With all due respect, do you even like writing code? You seem to dislike almost every language and every programming language aspect? :p

modest burrow
#

Classic example of c++ is too hard for him

wide shadow
#

I mean I can understand why they stick with Java tbh. Java has a huge extensive base with a large community and I can imagine that most Minecraft modders that are coming to hytale will love to stick to their language they already know. That will give modding a huge boost especially in the early days. And the best of all is that the java code only runs server side so the c# client can run as optimally as possible not like in Minecraft. I love it tbh

prisma agate
modest burrow
#

Yea so you like the butt simple languages that hardly have anything powerful

#

When it comes to compiler logic

prisma agate
modest burrow
#

Good one

spice sluice
prisma agate
#

Also look at Jai's metaprogramming, it's fairly sophisticated

wide shadow
modest burrow
#

As soon as you said constexpr and consteval and templates suck. I just know you can’t be trusted and you speak out of ur cheeks

prisma agate
prisma agate
spice sluice
primal shoal
#

Because it's ub

#

I think C++ would be a lot better if -Werror and -pedantic were default

#

Also -Wall -Wextra

spice sluice
#

To sum it up I would say that C++ might be good for some smaller low level tasks where you need direct memory management. For all other applicstions you would prefer some more reliable language.

primal shoal
#

Because there's people that don't compile with those and I have to use their code (my colleagues) and I have to spend ages fixing it up

primal shoal
#

The constructor hasn't run so it's in an undefined state

#

But you can still use it as if it was a normal pointer to T

#

I think that turning on all warnings and pedantic should catch it but I'm not sure

deft shore
#

ah, i get that but 99% of the time malloc is used in c++ its from c ports with pod structs, got confused lol

primal shoal
#

yeah it would be legal if T was a pod but we can't tell

spice sluice
#

There are many undefined behaviors you cant take track of. Such as dereferencing null pointer

primal shoal
#

I think that's why the C memory functions are banned in some C++ code based since they sidestep the language, so you have to use new or in place new

spice sluice
#

And other pointer operations

primal shoal
modest burrow
#

You have concepts, restraints, and raii

#

C++ can be written safely

spice sluice
primal shoal
spice sluice
primal shoal
#

Oh right gotta use sanitizers too along with all the flags

spice sluice
#

Another example could be integer overflow that almost noone checks and results in ub

prisma agate
wide shadow
prisma agate
#

U said it was madeup

wide shadow
#

It sounds made up because its dumb 😭

primal shoal
#

constructor doesn't run and according to the big C++ abstract virtual machine that means it's UB since it's in an undefined state

prisma agate
#

That's why I use C, cpp has so many stupid stuff, but I guess it'd work even if I compile as cpp, as long as I don't use constructors

#

But for a game operator overloading is really nice for vector math

primal shoal
#

yeah as long as its a pod it's okay (I think?)

prisma agate
#

Ye which is basically all my structs

primal shoal
vale fog
#

Hello everyone, I would like to know what resources are currently available to developers who are interested in creating plugins, mods, and servers.

Do we have access to a beta version to start development, or do we have to wait until 13 January?

Apart from the fact that it will be in Java, do we know anything else about the underlying technology line entities or how the game works?

Is there a guide or resource you can share with me?

Any information would be appreciated. I would like to be able to create a server with my own plugins and mods. Im creating a team for that 🙂

near raptor
granite parrot
#

But hytale isent built on Java no?

near raptor
#

The server is, the client is C#

granite parrot
#

Yea I figured ty

vale fog
sterile salmon
#

so if i want to make mods i will need to code in c#?

river stratus
#

Nope, just Java

#

Mods are all server side

sterile salmon
#

hmmmmmm so it will be 100% server side?

spice sluice
#

Yes

robust lance
magic nebula
fringe ore
#

So what plugins planning on making when it comes out?

magic nebula
#

I'm writing my own backend

prisma agate
fringe ore
magic nebula
prisma agate
#

I never used either, but heard from a friend that JNI is annoying, so good thing there is a better way

prisma agate
magic nebula
#

Upcalls work yes

prisma agate
#

Although I'd probably not bother and just write java, at least for a while

magic nebula
#

It kind of depends on what you are doing to be able to get good performance but it is something you can do

prisma agate
#

At the very least it's an indirect call, so it should be fine, java anyways has lots of virtual calls which r worse due to branch misses

magic nebula
#

Well, the tricky part is making sure you're not interacting with the java heap on the native side so the gc can still run

noble night
#

guys, who can help or explain me how to using and creating plugins on a server if it real

opaque frigate
#

Vsem salam

noble night
amber cape
#

No resources yet on Hytale API.

noble night
#

What is a Hytale API?

rose atlas
wide shadow
#

Honestly just start making your mod in Minecraft now if u don't want to wait

#

And then port your code to hytale

noble night
wide shadow
noble night
#

I know that they using they old engine in c++

wide shadow
#

No the old engine is in c# and mods are in java. The new engine was c++

noble night
#

So that means c++ can’t do anything with game that been realised soon, yes?

wide shadow
#

C# for client and Java for Server sided mods

noble night
#

Ok thanks

woeful depot
wide shadow
#

oh now I get it, my bad, ive written it in a way where you could think that there are client mods xd. My bad. Only Java Server Side mods will be available + visual scripting

woeful depot
#

All good I was just thinking if I was wrong

rose atlas
woeful depot
#

Where exactly

wide shadow
near raptor
#

One community, one client: We want to avoid a fragmented ecosystem where every server requires a different modded client. For that reason, we don't intend to support any client mods. The client should remain stable, secure, and consistent, while servers provide the creativity and variation.

#

(on the blog post about modding)

vast belfry
#

correct me if am wrong but everything we will edit in the game using only serverside right ?

rose atlas
vale fog
# magic nebula I'm writing my own backend

I was also just starting out, so I logged in to see if there was any more information besides the old post on the official forum. I've sent you a friend request. Can you accept it? For speak more about this

woeful depot
still carbon
vale fog
# magic nebula Just ask about it

I originally wanted to send this as a private message, but since it makes more sense to share it here, I’m posting it openly.

I’m a software developer and I’m currently putting together a small team to create a Hytale servers once the game releases. I wanted to ask you if you might be interested in joining, but I’d also like to extend the invitation to anyone else who’s passionate about development and Hytale modding.

Our vision is to create a server full of original mini-games, as well as bring back some forgotten Minecraft classics that were popular back in the day but never reached their full potential due to Minecraft’s own limitations. The idea is to give those concepts a fresh twist, adapt them to Hytale’s systems, and also build brand-new game modes on top of that.

If you’re interested in being part of this project or want to know more, feel free to contact me! I’d be happy to talk. 👋

magic nebula
leaden zephyr
#

Nah

rose atlas
# still carbon But we will always find a way ofc

But may I ask why you want to find a way to tamper with the client? With so many tools we are provided and plugins being able to mod at core. Why? What benefits do you get from wanting to tamper with the client?

And if you mean stuff like "optifine" and such the game is already gonna be optimized

vale fog
still carbon
prisma agate
tardy plover
near raptor
#

It would not surprise me if modding the client will be prohibited (possibly backed by the ToS/EULA). But maybe the Hytale team don't want to go that far to outright ban modifying the client. Though if I were a server host, I might not want people with modified clients to join my server (because modified clients might mean hacks/cheats)

hidden glade
#

Mods that add armor damage or added hotkeys should already be included if it's necessary

granite ridge
#

Are there any German-speaking developers in this channel who are interested in an RPG server project? We provide the server and offer a fully developed concept.

woeful depot
prisma agate
near raptor
woeful depot
#

I don't think modding client is that easy because it's not made in unity and they are using QUIC for communication but possiblities are infinite

prisma agate
near raptor
#

Sure, people will undoubtedly mod the client in one way or another.

woeful depot
#

Unless you are making a cheat client you won't need it

near raptor
#

I think it is best if people didn't, and if the server is in charge. If I think of certain RPG multiplayer servers in Minecraft, if they had the ability to do beyond what trickery they currently do with texture / data packs, the amount of creativity would be through the roof.

#

You could join one server and be in an RPG, and without any changes to your client, you can join another server and be in a third-person top-down dungeon crawler or something (if that is still possible from what we saw in the trailer). Really makes servers be able to offer completely different experiences.

woeful depot
#

Yup

viscid wren
prisma agate
#

And u can expand it to show proper icons for cooldowns etc

near raptor
prisma agate
near raptor
#

Maybe not, question is if you would need to control individual pixels or if building blocks like status icons, GUIs, menus with buttons, etc. would be enough to also still keep it "Orbis/Hytale"-themed. But I think for this it's a case of wait and see.

prisma agate
#

And again, u may want to change ur hearts position client side for all servers, I don't want all servers to do that

near raptor
#

Maybe? I wouldn't see a reason to modify these kind of things on the client because it might clash with whatever custom UIs and content is delivered by the server. But I guess that is up to people deciding to run client-side mods.

modest burrow
#

It’s alr this guy @prisma agate has bad takes anyways

vale fog
sinful zodiac
#

Hi, could someone involved in the project let me know if there's any information about plugins yet, any info for the developers?

prisma agate
near raptor
modest burrow
#

Language dev hasn’t written an interpreter even

#

Can’t trust this guy

prisma agate
prisma agate
modest burrow
#

Sure sure

prisma agate
modest burrow
#

Just gotta let em know to take what you say with a grain of salt. You have horrible points

magic nebula
#

We don't know the extent of their scripting yet

vale fog
#

Part of it, yes. But there will be a part that will be private on the server. We would like to be able to contribute early on to creating a strong community and support other people who want to develop with open source as much as possible.

dusky scarab
vale fog
blazing light
#

hytale(dot)com/news/2025/11/hytale-modding-strategy-and-status

robust lance
vale fog
viscid wren
#

Do people ever use an ORM for their sqlite files in Minecraft plugins? Or do most people just write the raw sql

vale fog
viscid wren
vale fog
viscid wren
barren halo
formal burrow
barren halo
lilac pine
#

Will plugins be written in C++, or Java? or maybe both?

stark sphinx
#

Java

atomic nebula
#

.jar files

lilac pine
#

ah alright, sweet.

arctic mist
atomic nebula
#

@vale fog I tried to send you a DM, but it was blocked. I sent you a friend request instead. I'm interested in the project.

atomic nebula
arctic mist
#

So, while it helps the developer, it brings some other work to do in the development process and affect the performance of the final application

#

Though for a game plugin, could not be as bad depending on the purpose of the plugin

atomic nebula
#

I mean, yeah, ORMs are useful, but it's more out of necessity than because they're well designed. They're better than nothing. Anyway, I doubt we'll have ORM support in Hytale. It's more likely that we'll be able to hook events into API requests instead. That would make the admin side language agnostic, since server owners could build their own tooling however they want.

magic nebula
#

I've never liked ORM or just object serialization in general

atomic nebula
#

Fair, I only use them for type safety and because migrations are easier.

shy osprey
#

Bro's what I can use Hytale API?

#

And what about the language of the Hytale server version, guys?

tulip stream
#

how are you already a professional hytale modder?

shy osprey
#

What is the software language of the Hytale API and how will it be used?

undone creek
#

That’s completely false Lol it’s Java not Java script

#

You’re wrong? It’s pretty obvious what I said

undone creek
tulip stream
#

did they confirm it for the old engine or the new engine?

#

so you need to know javascript for modding?

#

yeah thats all i needed to know

undone creek
tulip stream
undone creek
shy osprey
#

Uh understand, I know Java and JavaScript. Thanks for helping.

shy osprey
shy osprey
prisma agate
dusky plume
#

Hytale api is python

#

Stoop saying Dumb stuff

prisma agate
dusky plume
#

Its not

solemn brook
#

It’s just rage bait ignore

latent spindle
#

its laravel

prisma olive
#

It's cobol 💀

prisma agate
#

Banktale

latent spindle
#

its Cobra programming language

pearl gulch
#

Cap, HYTALE is written in java backend c# frontend

sterile aspen
#

kotlin

sterile dove
vale fog
#

Hello Rocky, would you be interested in participating in the project I mentioned above to create one of the first servers? We are recruiting people

vernal niche
#

So Nitrado is planning to build some base plugins for other mod developers to use.

In terms of distribution for dev purposes, what would you folks prefer? Maven central + github releases?

vale fog
vale fog
vernal niche
prisma olive
#

Maven repo for sure

#

Github releases might be useful for server owners if they are standalone mods

fleet isle
vernal niche
#

As someone who hasn't been in the Java ecosystem for several years I'm primarily wondering if Gradle is worth supporting. It seems a bit.. obscure.

modest burrow
#

Of course gradle is worth supporting

#

Maven truly sucks lol, and gradle is flexible and more powerful than almost every other build tool in programming

vernal niche
modest burrow
#

It’s definitely much more common now than maven

#

Or it’s growing to be, xml just sucks and gradle is mega powerful

vernal niche
modest burrow
#

Yea perhaps but even big enterprises are swapping to it since they have custom build logic and need better speeds

vernal niche
#

Cool. Thank you that really helps.

modest burrow
#

Oh yea and don’t listen to anything that @prisma agate guy says

#

Take what he says with a grain of salt

vernal niche
#

Oh I listen to what everybody says, doesn't mean I make my decisions based on any single voice Hypixel_Wink

blazing light
#

Especially the one with kotlin backend

near raptor
#

Maven and Gradle are both not the easiest to use compared to stuff like NPM. But Gradle is alright once you get it working.

#

In the Minecraft ecosystem, I don't see Maven being used that much anymore, most things are Gradle now. Probably because of things like the paperweight userdev Gradle plugin, making it very painful to do any kind of plugin development with Maven. Considering that a lot of people here might be coming from plugin development in Minecraft, I'd imagine Gradle once again becomes the go-to build tool.

fleet isle
#

I wonder if it's going to be possible to hack together some kind of dev environment with Aspire.

blazing light
#

What even is Aspire? The one I know is C#

near raptor
#

I am not familiar with something called Aspire

fleet isle
#

To put it simply, it's a tool that makes local development easier (at least for me it does that).

#

The idea is essentially:
git clone
aspire run
and you should have a local dev version up and running of whatever it is that you're trying to run locally. Here it could be running the Hytale server instance locally with your own plugin or plugins.

near raptor
#

I guess Gradle can achieve the same with custom plugins

fleet isle
#

it absolutely can, it just depends on what you're developing. If it's something small I'm sure Gradle will be enough for majority people. But if you want to do more than that then there's potential benefit from using Aspire instead.

#

I think I will be developing more than just a simple plugin, that's why I will be looking into the possibility to create an Aspire dev environment

near raptor
#

Maybe? I don't know Aspire so I cannot compare it to what Gradle can or cannot do.

#

Sounds interesting though

blazing light
#

Can you link Aspire (replace . with dot)?

near raptor
#

Unfortunately links cannot be posted here

fleet isle
vernal niche
#

Reading a little about Aspire I'm putting "Hot Module Reload" on my list because that would be huge, independent of build tool

fleet isle
blazing light
#

Ok thanks

prisma agate
blazing light
blazing light
fleet isle
prisma agate
#

Oh welp, guess I gotta do my own reload

prisma agate
near raptor
#

Seems to be a Microsoft product, so not really Java-friendly

blazing light
prisma agate
vernal niche
blazing light
#

Everything else failed to resolve my project properly

prisma agate
#

I'll make mine open source probably so people can just use it if they want

prisma agate
vernal niche
blazing light
prisma agate
prisma agate
near raptor
#

I've been a long-time IntelliJ user. It has everything that I need, and I don't really bother too much with highly customizing my IDEs because that only creates maintenance overhead.

prisma agate
#

And lately I started experimenting with disabling some LSP features, so not having the great IntelliJ LSP/integration isn't such a huge deal for me

blazing light
near raptor
#

I think for Kotlin there is now a LSP being worked on by JetBrains too, independent of IntelliJ

#

Though that was mostly aimed at VS Code

blazing light
#

I possibly cant remember all the APIs

prisma agate
#

Although for java I'd probably stick with auto completion just bcz it's verbose, or I might make snuppets

blazing light
blazing light
prisma agate
blazing light
#

I meant into the LSP

#

Since I need it to actually know the types

prisma agate
#

I use a nvim plugin that does some configuration stuff for it to work

#

There is nvim-jdtls and nvim-java, I think I use the jdtls one, u can look at my dotfiles if u want at git(dot)Kyren(dot)codes/kyren223/dotfiles

blazing light
#

I use jdtls too

#

Oh I see the issue it just reads build.gradle

#

But not the submodules since it does not use settings.gradle at all

#

Well IntelliJ idea it is 😄

blazing light
#

Yeah that is eclipse's language server

viscid wren
#

This game can not come out fast enough, Im ready to build a server

blazing light
blazing light
#

But it just sucks compared to IntelliJ's thing

#

Mainly in speed but also in features

prisma agate
#

Speed was fine for me, but I have a Ryzen 9 9950x and haven't worked on huge projects

#

And jdtls on Neovim feels way more smooth than IntelliJ, which is very heavy/slow

blazing light
#

With Ryzen 7 5700X

prisma agate
blazing light
#

No the project is just that big

prisma agate
#

Seems kinda crazy for a plugin, what was the plugin about?

blazing light
#

I can dm if you want? 😄

viscid wren
#

jdtls using 50gb of ram 🤨

blazing light
#

It was with vscode at that time and gradle extension

prisma agate
blazing light
#

Could have been

prisma agate
blazing light
viscid wren
blazing light
#

Or the gradle plugin injecting too many deps

knotty basalt
#

We can't open the server until the server software is released. When will the software be released?

knotty basalt
woeful depot
tulip stream
knotty basalt
knotty basalt
tulip stream
#

They're giving support for mods and plug-ins. There won't be a need for 3rd party software

knotty basalt
chilly moss
woeful depot
fleet isle
#

I think for the very first early access they're likely gonna go with a trust system rather than requiring verification system

primal shoal
fleet isle
#

Theoretically speaking I want to believe you will be able to play any server just by entering the right address but if a server owner wants to have their server discoverable then it's likely going to have to be verified. That I think is very reasonable to do, imo

viscid wren
tulip stream
#

Probably will be better than spigot

gusty trail
#

We will be fine anyways, having an official modding APi is better than 99% of other modding experiences (unity modding is always chaotic)

viscid wren
fleet isle
#

I would probably also bet on that early on the API is going to be changing a lot so stuff might be breaking until it gets figured out what works best

viscid wren
#

yeah wouldnt be surprised

#

im going to try and be one of the first servers out there, but we will see if thats even viable

blazing light
#

The devs said it themselves

#

What this means for you right now:

You will run into limitations due to missing editing capabilities.
Certain aspects of client behaviour are not yet exposed to the server.
Some tools and systems are rough, inconsistent, or painful to work with.
Modding maturity is wildly uneven depending on what you want to build.
#

Now for the blunt part: we are behind where we want to be.

We are missing years of development time that we now need to compress into months.
There are gaps in our tools, our documentation, and the ways systems are exposed.
Some features exist only because they were hacked together during prototyping and never polished.
#

Just have realistic expectations

tulip stream
#

Ah

blazing light
#

hytale(dot)com/news/2025/11/hytale-modding-strategy-and-status

#

It will improve over time they even said the UI library is going to be swapped in the near future

fleet isle
#

In theory there are probably going to be two options when you're going to want to make a feature that doesn't seem to be easily possible: Either you wait for it to be easily possible, or you do the hard and dirty work to make it possible but expect it to break with updates.

blazing light
#

I think intially there will be a lot of breaking changes

#

@random magnet Am I right or should we expect most API to be stable and just some parts rapidly developing?

tulip stream
#

Does he actually respond?

blazing light
#

Not sure if he will

magic nebula
prisma agate
#

Actually will there even be an API at all? if we have the entire server source we can just directly add stuff

blazing light
#

But you probably want to just extend based on the public API

vernal niche
magic nebula
#

Otherwise we will have cancerous source mods

prisma agate
prisma olive
magic nebula
#

Or there should be*

#

We have technology

#

We don't need to be distributing patch files

blazing light
prisma agate
#

And with Hytale it'd be way more straightforward, bcz u can edit the actual code (no need for weird injections)

magic nebula
wraith crane
magic nebula
#

Mixin is better than editing source files directly

prisma agate
magic nebula
#

You aren't going to ask a user to manually merge 10 different forks together

prisma agate
#

User as in server owner?

magic nebula
#

Especially when they likely don't even know programming

#

Yes

prisma agate
#

Actually how does Hytale plan to do that? bcz there is afaik no system where u just drop jars and only use the Hytale server as a "library"

magic nebula
#

Java modules

#

Or a custom class loader solution

prisma agate
#

My impression was u need to build the jar urself with whatever additions, so to combine multiple stuff u would need some mod loader

magic nebula
#

You don't need one persay

prisma agate
magic nebula
#

No

prisma agate
#

Hytale will have an existing thing that does that?

magic nebula
#

The jvm can already do that for you

prisma agate
#

Yes but u need to write some code to ask it to load modules

magic nebula
#

No, just change your launch script

prisma agate
#

Wdym? can it load multiple jars, and if it can, then how would u have things like their own main for initalization? (akin to onEnable/onDisable)

magic nebula
#

That's an API decision

blazing light
#

You just call your entrypoint or something

#

Or it goes through directory to find jars

#

There is a lot of ways to do it

prisma agate
#

Which is what I call a mod loader, which either is builtin into Hytale, or the community will need to make one (fairly easy to do)

blazing light
#

Or you just run your jar entrypoint and register yourself to the game

magic nebula
#

That is the better way to do it, but not required

prisma agate
lavish creek
#

Do you know of any recognized repositories on GitHub about good practices for creating plugins in Minecraft?

prisma agate
#

There needs to be some code that allows the plugins code to run

magic nebula
#

Static initializer blocks:)

blazing light
#

You just launch your entrypoint and register yourself into the game

#

What is so hard about it?

prisma agate
stray pasture
magic nebula
#

It's definitely a terrible way to do things, but it is possible

prisma agate
#

Or if not, then the community will probably make one

magic nebula
#

If not, I will strap my loader onto hytale because it's awesome:)

blazing light
#

Tbh that onEnable pattern is awfull please just call the constructor

stray pasture
prisma agate
prisma agate
cinder kiln
# magic nebula Static initializer blocks:)

I don't think this would work? Unless I'm missing a piece to what you're saying; the jvm (hotspot, at the very least) doesn't run clinit until initialization iirc, which would require something to interact with the class in some way outside of it just being loaded

stray pasture
blazing light
#

No, I know but where is singleton used in paper api?
You replied that onEnable has something to do with singletons, I dont get that.

prisma agate
# blazing light What is a singleton in it?

A stupid "design pattern" where instead of having a class with static methods, u have a class but u only make one instance of it (so it's the same, except it's more code)

prisma agate
random magnet
stray pasture
blazing light
prisma agate
random magnet
blazing light
stray pasture
meager hamlet
prisma agate
#

Awesome so it's builtin already, so no wars for forge vs fabric fs spigot vs paper etc

blazing light
fleet isle
stray pasture
vernal niche
#

Speaking as someone who had to support all of the different modding frameworks and game versions for Minecraft... I couldn't be happier about how Hytale is doing things x)

prisma agate
#

That also means u can have forks for ur server for extra control, but u can still use plugins normally, which is great

stray pasture
meager hamlet
#

Working on a hytale server looking for Dev's testers and other positions as well.

clear ledge
#

Do we have any information about Hytale's API for modding for now ? Any documentation or other ?

random magnet
blazing light
clear ledge
blazing light
#

Yeah

fleet isle
random magnet
#

Yes, the moment you get the game you can make a server and start modding.

clear ledge
#

Oh, perfect !

blazing light
#

Is there native built-in sharding?

primal shoal
#

just wondering, what graphics api does hytale use for rendering? is it like minecraft where it's opengl or is something else like vk or dx used?

blazing light
meager hamlet
random magnet
blazing light
clear ledge
#

It's in java or c# ? cuz i know that in the past, some people talk about c#

meager hamlet
#

Looking for people to join development of a server looking for people to test people to develop and other roles as well .

prisma agate
#

Is the jar (until source is available) will be obfuscated? or will stuff like class/function names will be as is? (and also local vars?)

random magnet
meager hamlet
#

Hello slikey i am a server developer and my plans regarding hytale I want to ask some questions if that's fine with you can we talk in dms.

random magnet
blazing light
prisma agate
#

So I assume this means no "worlds/dimensions" (nether, end, custom)? there is only one world per server?

random magnet