#server-plugins-read-only
1 messages · Page 36 of 1
we do have the same first name ^^
I'm guessing you have profile images disabled in discord?
Yeah in Appearance -> Message Spacing -> Compact
What in the world!? - I hate this
Pretty sure they are offering pre-orders.
Honestly if that 🤣
is this true?
Is there already an egg to make it work in, for example, Pterodactyl?
No because the .jar hasn't been released yet
Ok Thanks for the Quick answer
You can bet that there will be an egg relatively quickly after release though. And even if not, the plain Java egg will work just fine
Okay, thank you for your help.
How did I get tagged?
because he replied to you without unclicking the mention
I thought it was weird because I sent that message like 3 weeks ago
I think someone forwarded the forward you did
And that's how I got there
But why did my forward get forwarded when they could have forward the message I forwarded
I just hate having my name near a thing I just found out thanks to someone else, makes me feel like I am getting "credit" for not actually doing anything
Does anybody know the port (even better, dns srv tag) the hytale server will use, or is that not released yet?
Thank you, is there a confirmed SRV record?
srv record will not be supported at release. looking if i can find a quote for that as well
Thanks, will set up forwarding ahead of time
LGTM, yeah DNS sucks to code for
yeah in c# most people use DnsClient.NET i think although i feel like that shouldnt be too hard to implement it just takes time to get it in and i assume they already have their hands full
Yeah we looked at this my concern is I dont think it properly respects the OS defaults, like if you use it on Windows 11 does it use DNS over HTTPS if its enabled? From what I read its just an implementation of DNS in UDP?
But yeah really just haven't had time to sit down and work on it, bigger fish to fry and all.
would also ignore the hosts file and stuff
Yeah, that's not gonna work without P/Invoke
i build a winforms just now so i can play with it
yeah DoT and DoH seem to be unsupported by the looks of it
that sucks
would have been a nice neat option given that i now implement it basically it wasnt too much of a hastle
Without using DnsQuery you are basically jailed by Windows
Maybe something we get with .NET 12 in System.Net.Dns 
yeah i mainly hoped the library specifically just focused on being a dnsclient lib would have implemented the ugly pinvokes and made DoT/DoH nicely usable and would follow system configs for it
It's also unclear how DnsClient.NET works with AOT. Might work, might not. Never tried it.
So, using DnsQuery should work with it.
😶🌫️
Does anyone know if FOV and perspective can be forced via plugin?
No infos yet
This chat is much cooler
agree
😎
a little too cool tho i need a blanket
nobody cares
i dont have any of the gtas
i got gta 6
im old and not with the times
i dont have tf2 or fortnite either
tf2 and fornite are 10 years apart 😭
yet both are played
not really big into half life either
but master of orion now theres a classic
chillax unc
real
Gotta get that Half Life 3.
still no clue for hytale server proxying for creating hub infrastructure? 🙁
Slikey on Twitter:
Whenever someone starting out programming asks me "what language should I learn": C#. It is not even close. It is by far the best balance of performance, usability, learnability and ecosystem support.
C# will absolutely dominate application development and I am willing to die on this hill.
you can proxy quic with caddy (+ the l4 plugin but needs custom xcaddy build) and nginx can also do it apparently but seems to be more awkward to find the docs to do so
and then as mentioned there is a transfer packet but you can proxy servers based on sni and such if you really want to
This was sent by Slikey?
Yeah
This I stand with.
He's talking a bunch on Twitter right now. About programming languages and engine
The programming language you start with should depend on what you want to first build and no other reason.
Well it should also be based on how easy it is to learn the language, I wouldn't suggest someone starting with C, C++, or Rust
Why not?
Because it is a lot of concepts to learn at once, and doesn't feel as rewarding.
The advantage of learning something like Python, Java, Lua, etc. is that you can make something that you are proud of much faster and not get stuck and annoyed
Getting stuck and annoyed is part of the learning process.
Still, I wouldn't rank C# above python or scratch as easier to learn
Getting stuck and annoyed is part of the learning process yes, but if it is happening constantly people just give up and say "I hate programming" and "programming is not for me"
Depends on goals. C is quite easy to learn and forces you to at least think about memory. Rust too but it has too much.
Can you debug C# programs outside of VsCode? It gave me some problems when I tried
I kinda say not rust because I really wouldn't want to teach someone to start pulling in random dependencies which NPM and cargo are really good at miss teaching you to.
If someone wants to be an embedded developer that's the programming language I would start them with
My university starts students with C for the first few courses
Yeah but the point is when you don't even know what a "variable" is and what the symbols on the screen mean, its hard to also have to be thinking about how memory is stored
True. But you also don't really need to
With C# you have to understand encapsulation unless you ignore that...
So you could just not tell them about pointers for about 30 minutes before they are ready.
Anything I as a solo dev will build C# has me covered.
Very often an intro C#/Java class won't talk about OOP for the first section, you will just be writing code in the main method
I think the issue is that all of us have programming experience, and we all got it in different ways, so its really hard to imagine what not knowing anything about programming is like
We are just guessing
C# has even moved away from OOP allowing many different paradigms
Yeah. I got in from Lua then Java and then python.
Some teach these concepts in reverse and it's still not too difficult to understand. I took a course that introduced registers and stack memory before variables
So I am preaching about something I didn't do myself because I find it valuable to learn low level stuff today and am studying that.
My first lecture in programming at uni started with "what is an object?"
But this is definitely not the norm
Memory and memory management is a very in-depth topic. I don't think anybody starting out with python needs to concern themselves with it.
Lol dont talk about pointers a simple yet seemingly impossible topic to convey. 😂
I say that mainly because I see people tripping on what actually happens when you call a function. How to look up stuff yourself and how those calls actually get translated to metal
Like. You should at least know a Turing machine, what structs are, how strings are stored, how your computer jumps around in memory, what tokenization is and what is a standard library
Everyone always hides the hard stuff. Maybe stop hiding real concepts and we would have less issues. I still believe learning c is the best entry to programming. Everything is based on it
Though, you also need to understand the compiler, your build system at least in concept, etc.
C does what you tell it. Does hide and allows you to shoot yourself in the foot. Doesn't have the whole OOP craziness that is usually the hardest part of learning programming. And makes you clean up after your self. All of the basics covered.
agreed, especially for the concepts it teaches. It gives skills you can use in modern languages as well. Maybe not all but some will be really valuable
I agree, I just thinking starting with that stuff feels very "academic" and boring. People who are starting out want to make something that looks cool like a website or simple game
You can only appreciate low level when you realize that your python program is built on top of this massive amount of impressive architecture that has been abstracted away.
Besides I'm crazy for saying this but I love memory management in c and c++ for that matter
But like... You don't need to know line by line how the python virtual machine operates. You should just know that, hey, this is a stack based thing, written in some order language that executes the tokenized output of my code.
just the control >:)
Add in OOP, reflection, whatever else C# and Java do under the hood that's why programming gets confusing.
Yes, but you cant "know" it because you dont see it.
That is correct
Though, a full walk through of how implementation details of python sounds awful lol
Python, C# is a great example of AI.
AI hides all of the things much like higher level languages. Vibecoding is the visual that people who never really learn what goes on are.
You just need to know that "blank" works.
But HOW, -> AI in a nut shell.
The sad part about AI is that people can get into programming and "write" really complex programs, without knowing anything, and then one day they are going to hit a wall and won't have the motivation to learn in order to solve the issue.
But at the same time they are sorrounded by people telling them "You have to use AI, if you don't you will be left behind" and its really easy to turn to a magical tool that will solve all your problems, until one day it doesn't.
This is why I call software engineers problem solvers we engineeer the software, and coders just people who know the syntax and maybe problem solve here and there
See and my main issue is linguistics. Just knowing the syntax and all of the functionality. I can forumakte the solution, the architecture, and all but I failed to type it. 😄
Long days of Stack Overflow before AI
but mostly use higher level concepts
I really should try to learn opengl again
Programming is "problem solving", Coding is typing.
We have been trying to abstract and remove the coding part otherwise we would still be using asm or C. Python would need to exist.
Learning OpenGL isnt what you want. OpenGL is a pipeline a specification. Your more or less wanting to learn shaders, and algorithms for the content side of the pipeline.
Use a library LibGDX or Monogame build your actual systems and visuals ontop.
I think everyone truly interested in building software not just for projects or money but for the understanding and skills. Should learn to be a software engineer and learn how the internals work and not only "best practices" like MVC, although great it doesn't work well for all scenario's and then this time could be spend on something else. MVC and other best practices can always be learned in a last year course or even during internships
Agreed. Reason why I am building my engine, almost done with it should finish by the weekend.
Learning what things like that do is valuable, knowing how to type it is useless.
I design, Ai implements (I validate) | if a pattern is wrong I fix it.
Also this is at a per implementation level, not function or class. But almost line by line. 😄
Did I do it right?
int main () {
while (true) {
int* apple = new int(1);
}
return 0;
}
Software engineering isn't an actual engineering discipline. No different from prompt engineers.
no
I would recommend not creating and initializing within a while loop
the problem is right now you will keep making int pointers and never clean them up. This app will eventually crash your pc
or the app itself whichever comes first (buffer overflows are scary)
Is there already some docs, showcase, etc... ?
No
😭🙏
for learning purposes you should take on any challenge honestly, even if it's not taken seriously by peers. Maybe it's the next new big thing, or you learn a lot. Eitherway valuable
No need for this to be a pointer (doesnt really do anything)
Your initializing idk what.
This should be creating outside of your loop and used within.
I wanted to catch her offguard with leaky code
I'm curious what DSY is cooking this time
Though if you want some nice AI assistance that isn't Claude or anything. Tabby with Qwen2.5-Coder - 7Billion param runs fantastically!
Not to much AI but not to stupid its worse autocomplete - gives a good speed of auto complete (Doesn't remove the thinking)
opinion on gemini?
My frist ever interaction with memory leaks was back in the warcraft 3 era and making custom maps. When you've created anything inside a map you MUST null it otherwise it will leak eventually.
local group g = CreateGroup()
call GroupEnumUnitsInRect(g, GetPlayableMapRect(), null)
call ForGroup(g, function MyCallback)
This would leak, so you had to
call DestroyGroup(g)
set g = null
to remove it. Countless hours went into understanding and fixing this, since the WorldEditor back then didn't tell you where you've made a mistake. It would just "compile" the map and run it.
To much. - Thinks to hard
gemini got god tier img generation. I love it
Oh for image gen, yeah all for it. (I ain't that talented)
coding wise idk, I haven't tried it. No LLM has helped me :/
Tabby Qwen Coder - it reads some of your source for context, and uses comments and the structure you actively type. - It is just intellisense but with your actual codebase
self-hosted AI coding assistant
It's over for me
? - Explain
I can't run it..
Oh why not?
I got an rx 560 💀 + ryzen 5
3B model may work for ya. or thje 1.5 billion should work. (Less help a bit more "stupid")
Anything higher than the 7B overthinks. (Like using StackOverflow)
In your case I'd just say run it on your cpu instead of your gpu. Something small like one of the deepseek models or llama 3
Honestly its fine 😭
mine was "what are variables" shortly followed by "what are subroutines, functions and methods"
Is it confirmed yet whether it's visual scripting only, or if we can write plugins with text-based java
From my understanding visual scripting won't even be supported yet on EA, or will at least not be super fleshed out. Java plugins are the main way to make content
@vernal niche Any RCON commands already documentated for Hytale?
wait it has rcon? i thought it doesnt
Nitrado literally created them
oh as a plugin you mean
Everything is a plugin
jesus i mean third party
Only the protocol and the sandboxed client methods are part of the "core"
im aware of the architecture but i hoped one can put 1 and 1 together and assume i meant third party aka not included by default
No. WebRCON is still on our "hopefully we get this done for release" list.
But the commands themselves will just be the plain in-game commands. Nothing extra.
sorry if it sounds like im upset or such but it did feel quite pedantic to get "Everything is a plugin" as an "answer"
is writing commands as painful as on minecraft?
i was gonna say "minecraft commands arent that painful if its under like 500 characters" but couldnt quite bring myself to it
no, i mean "painful to write" as in the code behind each command. Writing commands as a user is ass too but that's besides the point.
ah
I am not familiar with developing commands for Minecraft, but I would not call the Hytale experience painful. Quite the opposite.
Bassically the way minecraft commands work is that your text is parsed into several types of tokens. Then each command specifies an order of tokens it expects in a tree built using method chaining. This is painful because that turns the command system into a pseudo programming language where each function has it's own bespoke syntax. It also tends to produce some god awful code.
On the user side... it mostly works. It's clunky, unintuitive and requires a learning curve. But we all have bashed through this with 15 years of muscle memory now. For scripting, as in datapacks, it's just horrible but that's not a concern for hytale.
Keep in mind Hytale doesn't support autocomplete yet (as of the creative mode video)
is that so bad?
also, lords of minecraft? like the way ancient minecraft server?
with the rp yt channel
yep lol
it was dead by the time i found it
it's getting relaunched if you're still interested. more focused on rp and progression
Well, i have a particular hate bone for brigader (the thing that handles minecraft commands), and hate the way that code is laid out as it's a massive mess of generics.
But, yeah, nah. It's workable if not great.
i was referring to the autocomplete bit
no, not having autocomplete isn't bad. But without it, it makes sense that Hytale's command system is easier to develop for since that is where most of Minecraft's complexity comes from
I'd hope they just have a debug UI where plugins can define buttons and sliders in
So as a server admin you can just click the dang button
plugins can define their own ui 🔥
maybe with a webUI for the management console instead of WebRCON too.
WebRCON will be a 3rd-party plugin. I bet there will ba a ton of other 3rd-party plugins for server managemenet as well
What kind of commands for a plugin would you ever need to write that doesn't just take an array of strings
a big chunk of brigadier's complexity comes from the target selector syntax. so you're not passing an array of strings, but a pre-evaluated list of list of arbitary objects
I've got a server with a fresh install of ubuntu, does any one know what version of java the Hytale server requires?
just go with 25. Java is backwards compatible so even if they pick something weird, it will run anyways.
thanks
was this confirmed?
awesome
Awesomesauce
Hypixel should shift to heytal
Nah
Why
Wdym, hypixel shifts to hytale? Like they stop hypixel?
No I mean they should make a server for this also like hypixel
Ohhh I see a hypixel server on hytale
They will
Yup
just not at launch
I don't think till global launch hypixel will not make the server
Have they said anything about how servers will be deployed, can we self host like MC or will we be forced to use their hosting?
If they want a 20% cut it doesn’t seem like there’s many avenues they can go. If server purchases are forced to be made in game this can easily be bypassed with webhooks if servers are actually being given creative freedom and contracts seem likely but how would that work on a mass scale of self hosted servers that gain little to moderate traction
We can self-host like Minecraft. The server even runs on Java like Minecraft. The .jar will be available right with the game on Jan 13th. They have not talked about 1st-party server hosting at all yet
Oh wait the server software jar is available right at launch?
Have they stated this anywhere though? Them partnering with nitrado and the lack of communication regarding servers makes me think that’s the route they are going.
correct. and it will not be obfuscated so it'll be easy to decompile and look at which will be useful for plugin development
Have you read the modding blog post already?
Wait which one the modeling?
most recent
The server files being open source doesnt mean we’ll be able to host them though.
You mean it needs to be built/compiled first? Or wdym
They can prevent the client from interacting with servers not run on their network.
Ohhh ok interesting
Being able to self host the server is a core part of Hytale's design
I completely understand what you’re saying and this entire time I thought that too but I’m starting to think assuming it’ll be like Minecraft’s hosting isn’t realistic if they want a cut of server profits.
So they are opening up contributions from the public? What does that do or look like? Public improvement?
Minecraft forces you to abide by their Eula and that’s it
They have not talked about how profit sharing will look like. There are countless different ways to implement this but the only thing we know is that they won't implement any of them for the next 2 years.
The server source code will be on GitHub and we will be able to submit patches and pull requests
Thats actually peak
Was not expecting that
EULA 3.2, and I've read somewhere (can't find right now) about it being 20% of profits maximum
I assume the cut would be if you use Hypixel's server browser, payment processor, support, hosting, etc.
I don't see how they could take a % from private third parties
You can self-host day 1. Don't worry.
You can also host with us
but that's up to you
Honestly, hytale is gonna be a wild west for a little while. Everyone gonna be active everywhere with the splurge of new servers, its sorta exciting in a way a new fresh start away from Minecraft with the same or better potential
They've suggested that they take a cut if they make a built-in payment processor and host the servers for you if they do
think of it as the Roblox robux system... let's just hope it's not 70%+ goes to them
20% max in the worst case scenario they said and nothing for the first 2 years
*sneaks in* Making plugins and mods will be nice to do again.
Who to ping to remove spam? ^^
wow the mods are quick
you can use /report
Ah, cheers!
Is there a source for this? 🤔
hytale com/news/2025/11/hytale-modding-strategy-and-status
Ty
Shared Source Server
We commit to releasing the server source code as soon as we are legally able to. Expect this within 1-2 months after release.
[...]
This will let you:
- [...]
- Contribute improvements and bug fixes back to us if something bothers you enough that you don't want to wait.
Hey everyone. https://discord[.]com/channels/523059903812599811/1455006002880450738
I did my first ever thing after aging 25 years waiting for game side documentation. I figured subjecting myself to JavaScript was the next best thing. 
It asks me for my credit card details...
Hi guys, I think I made that question like... 3 times
And always got some different answers
Can someone who knows explain to me: can we process things on the client?
I'm not talking about client side mods
And I'm not talking about mods at all
Let's say somebody joins my server and they see custom HUD
And then, let's say for example they have "Apple counter" in their HUD, which counts how many apples they have in inventory
That's just for example
So, I don't wanna process how many apples somebody has and then send this info to the client ON SERVER SIDE
Instead, I wanna process this stuff ONLY on client, so the client will keep track AND process how many apples it has and what to show on the hud
Such thing can really help with server performance
So, does anybody know anything about this?
that entirely depends on what hytale exposes in the modding api
You must process this information on the server anyways otherwise players could give themselves an arbitrary amount of items.
Empowering modders without exposing players: We want modders to benefit from their work and build a future they can rely on, with as much freedom as possible - without exposing players to the security and safety risks that exist on some other modding platforms.
Server Plugins - Java .jar files
Extend the functionality of the server programmatically.
Extremely powerful and allows deep modifications to the gameplay experience and core server system.
Use them to build minigames, economies, commands, custom logic, new asset type, and more.
Data Assets - JSON files
Drive gameplay behaviour and define core content:
Blocks, items, NPCs
World generation
Drop tables, loot, and more.
Art Assets - Sounds, models, textures
Provide the visual and audio representation of game elements.
We support Blockbench for creating Hytale models, textures, and animations.
Save Files - Worlds and Prefabs
Share whole worlds or specific builds.
Prefabs are used in creative tools and world generation to place prebuilt structures like trees, houses, or large landmarks.
It might be possible through Data Assets
No? Again:
Instead of counting on the server how many apples player has
Client just counts how many apples it has and how many to show in the HUD
It just counts, for example
Yeah I've seen this one
Saw someone saying something about "sandboxed client" - dunno what that means
after thinking about it for some bit, I highly doubt they will allow arbitrary code executing on the client
if they were to allow modded server-managed client execution at all, it would be through a strict API like "here is a button and when you click it you can do an increment method or a decrement method and nothing else"
in minecraft, mods and modpacks are vetted, and you are opting in to a mod, but in hytale, there is no such process from the player's perspective.
a server could absolutely have a malicious mod and players would be none the wiser
that just means the client is limited in what it can see and do to the computer
In his case, I think theyll allow some client-side tracking so that, for example, the display of the HUD with hearts can be customized, since sending heart data only for that HUD to the player from the server would be inconvenient.
That's very interesting and I am not sure it's answered. Right now we know that the client interprets server side only.
We are not talking about code executions. We are talking about a .preferences (cookies) type of thing
Cookies, where you can store keys LOCALLY
On server join -> Check player preferences cookie ->
-> exists -> read preferences
-> doesn't exist -> create preferences
Client-side scripting is also not arbitary code execution
You mean local storage. Cookies will be send with a HTTP request.
Since server is authority, you basically handle it serverside anyways.
Like this Pseudo code:
player.localStorage.has("key");
player.localStorage.get("key");
player.localStorage.set("key", value);
yep
When you join a server you download textures (if any) so it wouldn't be a bad idea to download a custom hytale key storage
Well, localStorage refers to a local file, which simply contains some user settings or whatever, if the server provides custom stuff. Since we got unique names, which can't be spoofed, you could also use tokens for auto-login for your server
May lay in the server folder and stays there or in AppData
def a good idea
my concern is that a malicious mod on the server can then execute code on the client, potentially doing something for as long as the player is logged on, like making a keylogger or a crypto miner just as examples... using the client resources for things they really shouldn't be doing
that's something that they're aware of and are actively mitigating
I bet the reason we don't really know anything about client side scripting yet is because it's in it's infancy and everything is still on the table
even if a keylogger is out of scope for the modding api, a crypto miner is just maths and you can't block that
How is a keylogger going to work?
That's not gonna work at all lol
The client is sandboxed in it's own universe. If it would harm the client, the server wouldn't offer a method to call it.
Even if you write your own server with quic protocoll and send malicious data, the client doesn't know that and will be always up-to-date.
Even if the server sends the game assets, the client API endpoints can't execute anything of it, if the method isn't built-in the client
:shrug: just an example. I was thinking about how minecraft now has the ability to read key inputs to directly hook them
You don't download plugins. Only the assets. The server handles the logic
client-side scripts are assets
Bruh
Yeah client side scripts = hytale client side api
I can totally see a hashing function be implemented on the client side using basic math nodes
that was to yaga baba
I am still trying to understand how it will work
it all depends on what they make available for us
There are no "client-side" scripts.
You can only communicate with the client with the QUIC protocoll or with json files, which the client knows the format and only accept it. You can't manipulate anything of it to harm other clients
Only thing you will be able to edit is the game logic and thats it. In a sandboxed controlled environment
x com/slikey/status/2000348066101268677
We said we don't want client modding but client-local scripts are something we can absolutely support. It would hinge on a very limitted API but absolutely within the realm of possibility and doesn't violate any of our core principles to UGC.
this conversation is about having the client manage a process as part of a mod, the original example being a counter for the number of apples in your inventory
The only threat when it comes to viruses is "plugin downloads"
client local scripting = their own scripting language like scratch
He is referring to the visual scripting language (like unreal blueprint)
yeah me too
"client-local scripts" 
It literally says
It would hinge on a very limitted API but absolutely within the realm of possibility and doesn't violate any of our core principles to UGC.
That's a clientside API which offers limited access to the game for e.g. TeamSpeak plugins to communicate with
Only thing you should worry about is downloading malicious plugins
That's basically a headset port and you can listen to the music whatever the sealed music player is playing. Only the server can change the song
we are in agreement
You mean running malicious plugins serverside, the download does nothing x)
Yes
Well you are supposed to execute it in order to work
I mean, if you download anything from the internet by "believing" and run it on your local machine, well. Good luck 😄
Yeah that's what I am saying
Before I'm willingly run an external plugin, which I could build by myself with the source code, I'll simply copy that plugin by myself x)
We don't run any code on the client, we just download models, textures, sounds etc. The code is executed on the server. Unless I've gravely misunderstood something...
Correct, the server handles the logic
Yeah, that's right.
Assets will be downloaded from the server.
Server core can communicate with clients through the protocol. If it's not exposed as API endpoint from the client, you can't execute it
So why is there talk about malicious code then?
Server plugins
If you install malicious plugins on your local machine for a local server and run the server with administrator permissions, it's game over
Obviously. That's out of the question haha...
I mean, it sounds dumb to run a server as admin (or root lol) but you know, there are always some people who will do that what's in the instructions x)
In this point I trust AI more than any other human-written guide when it comes to install stuff to my server 
I know what you guys mean, back in the CS 1.6 era you could crash someone's game or corrupt their system files via server plugins, in that case it was a fundamental error in how the server handled the code and made the client behave.
That was 20 years ago...
Yeah...
GoldSrc engine man, good old times
Well, Source changed it, it is pretty stable, still
nahh its even simpler, just open the .jar file - game over :D
My only concern is that hytale doesn't turn into slop that is roblox
Hm, I don't think the plugin can be executed without the server 
I think he means just executing a .jar file.
yes, that's what I mean. A .jar file disguised as a hytale plugin
Bruh that emoji looks like "angry thinking" when you got the 16x16 version 

So typically in this day and age windows defender detects all sorts of stuff hidden in executables. You'd need to obfuscate the code and then actually download your payload after execution
That's how nowadays viruses do it anyway
I am not a computer scientist and my explanation is like super high level
Well, servers usually run on Linux, so
Ye, but you can download and run it on a windows machine, that was his point anyway, that you download and run said file
I saw in ViaVersion's latest update message they warned again about malicious jars. In server plugins, it has happened in the past that .jars contain malicious code.
But I believe that reputable platforms where you can download mods / plugins in Minecraft also offer some kind of virus scanning. It's a bit like with e.g. Nexusmods, which also scans for viruses in mods for other games. Sure, it can't catch it all, but at least they recognize the risks.
It's too much work and little reward if you make viruses
I mean, it still happens
When will we be more involved in server development, API management, etc.?
When the game releases
Happens a lot, most of the time it’s a compromised spigot account, and the code tends to jump around jar-to-jar so it ends up in a bunch of random plugins
Now please enter them and all your dreams will come true
Who needs viruses when you have windows. Does everything a virus does
Wrong. Viruses never fail. Windows does 🤣🤣🤣
It’s so cool they’re supporting native Linux. Means I can develop and playtest on the same machine
ooh nice
glad they got it
Yea it's great
Thought I was about to have to do everything on my laptop ☠️
guys should i do bad apple inside hytale?
imma also try making spheres
since hytale hates them apparently
I AM SO READY TO LEARN HOW TO MAKE STUFF IN HYTALE
there will be have endless ways to do bad apple in hytale XD
I have a great idea for a Minigame that I am currently working on (details and what it will be)
.
D-12
Happy New Year! I hope the Hytale crew and the community can figure out how to blow up this game this year and get people to show up from across Tiktok, Reels, and Shorts
Happy new year (:
Happy new year, may 2026 bring us plenty of plugins and tons of server customization! 💯
Happy new year !!!
Ngl if the game just gets good ugc hytale will do just fine.
merry new year
java
The Hytale server requirements similar to minecraft?
not completely, let me explain
Currently from what some older messages told us (yes it's a month old so may be outdated already) the first few players will likely use 1GB/player of memory until we get to players sharing chunks together. As chunks seem to take a lot of memory space. Tickwise it tries to run at 30tps so I would also expect a bit more cpu load due to that.
70 players were able to run on 12GB DDR5 R9 7950x
but crashed after 45 min and had degraded performance
probably due to having not enough memory is my guess
So we need a better server machine?
I’m sure it will change and as with all servers “it depends” unfortunately. Depends how many players, mods, ext
Honestly I’d be happy if Hytale has better scaling support than Minecraft, hopefully with hypixel behind it they will do that 🤞🤞🤞
like running multiple instances of the server pointing to the same data
that's possible to do already indeed, but to synchronize the data between servers need to be added yourself
like there is a sql chunk storage container option
Cause running multiple servers is better than one big bad one
probably also for other stored data types
oh they store it in Sql or am I missing something?
That’s honestly pretty sweet. Kubernetes here I come lol
I can link to the messages if you want
That be helpful 😁
Important to mention these are the unoptimised tests
https://discord*.*com/channels/523059903812599811/1428794280868184064/1449868302414385245
Thanks!
that's very true but the info is also a bit older. So we need to see how it actually runs 🙂
Yeah…
they confirmed it was a non-scaling related issue, though i can't remember the details i can look for it later
That would be amazing ❤️
Problem already fixed weeks ago 
do you remember what specifically it was though
or where it was confirmed
So chunks are saved to disk after only generation? Wouldn't it make more sense to only do this when the chunk is modified?
then the chunk gets generated every single time. Yes it stores less data but requires far more compute
so it's choosing between two evils. ANd which one is bigger is then the question
I would suppose it works like in Minecraft. Chunks are saved on generation and modification and then loaded and unloaded dynamically
Given the code we've seen already, it'll probably be trivial to change the implementation to only save on modification
Or flag them in some way so that you could prune them later
The chunk needs to be generated to be modified. It caches the world. I cant find a reason This is bad. It's pretty standard for generation.
Operating chunks in memory unless modified is a heavy compute since instead of rendering what's already computed your recreating
Though this could likely be wrong for what their chunk algorithm does. I have no clue what they are doing. 😛
wow they took a while to paste everywhere
you would think the bot would do it simultaneously
Slow mode is kriptonite.
at least here its only 10 seconds
It'd be loaded into RAM either way
It's just whether or not we save it to disk
If you have a ton of players who are exploring a lot, it could be a good idea to only save modified chunks
Or at least differentiate them so you can keep the world sizes manageable
Loaded into ram after its cached is totally different than computationally recreating.
Saving to disk after creation just means its reading and placing not mathematically finding those positions one uses way more CPU
I haven't worked out any other algorithm on my own voxel system. As logically I haven't found a way that makes sense. The better option would be to serialized the data into possible shorthand or db. Keeps it small, and if serialized well could act as compression.
Lastly that data must go somewhere. 😄 disk is the only place that exists. You can offload it to another disk
I am so excited for Snows message!!!
So suspenseful!
I'm not so concerned about world sizes more about chunk generation/load speed. I would imagine reading and writing to disk is more expensive for open world exploration than re-generation since many chunks are only visited once and never again, right? Because whenever you revisit a non-modified chunk (often the case in open worlds) you must wait for the disk read to finish.
And for this last point I guess this depends on player behavior but multiple players generating many chunks simultaneously would probably cause worse cache locality compared to re-generation if storing non modified chunks on disk.
My hypothesis is that disk read with poor locality is slower than chunk generation. I guess this is something that can be tested after release since it depends on their chunk generation algorithm.
modern ssds are way quicker than the complex math it takes to generate those chunks, but I do get where you're coming from
especially considering very old games where this was not viable due to io read write limitations. But the generation opn cpu will limit the player experience as it ws time that could be spend on something else like entity calculations, player anti cheat etc
This is inaccurate. Ram speed is always faster, reasons why games run within memory and not off disk.
Pulling in and out of ram allows uses of pointers.
Its not the read write speed. Its the amount of time it takes for each generation of chunk.
You have 75 players playing within a range where they are always generating common chunks. Thats undo burden on what should be cached.
I agree with niklas
but the memory likely won't hold the whole world of generated chunks as that would simply not fit without an extensive algroitthm which then causes it to compute more and more
it would more likely keep the in view distance chunks +2 maybe in memory
do you guys have any resources for learning ECS?
Yes! I recommend writing one!
I am not kidding. It wont be good. But you will understand it.
Resources, YouTube and AI. They got your googlin. Then Google on nuanced ideas if need be.
i think i understand the concept of it.
entities are containers
components are data
and systems mutate the data in the components (?)
That RAM speed is faster than calculating chunk data using multiple noise functions is obvious. Snow did write about disk speed though, so I don’t know why this discussion went to RAM. RAM is required either way, if generating chunks or if loading from disk, so that’s out of question.
Nowadays disk I/O is barely a bottleneck anymore - even if it would be: slap the server in a RAM disk. But noise functions (multiple for the spectrum of features) are expensive and storing once-generated chunks is the only sane way imo.
The prior discussion was using ram for modified chunks. No caching just modified chunks.
That sounds like data loss waiting to happen.
Yes. Each entity is a container (id)
Each entity gets components and those components house (systems)
One update loop loops through all entities updating each system per entity.
Transform component houses posX,Y,Z, and rotationX,Y,Z specific to that components. You mutate this. Mutable or non mutable, its just a state change.
Lol if I didnt put my project on my git server I could send you that for a resource. But its locked behind my server...
Yes, this is what i would be worried about to. Which is why caching voxel worlds is important besides the fact they are computationally and data heavy.
Though, determinisim solves this worry.
im going to do something disgusting with chunks and entities
make everything just a presized arrays instead of classes, and access by index
all native types
I feel like the Chunks should already be presized arrays. - We already know the size of chunks, and usually you make a 3D array for that data...
advice think about how to differentiate from different blocks. Is it just an int in an array or something else?
ENUM!!! 😂
but that gets translated to an int in the backend
... (I knew that...) 🙃
and then you need to think about special blocks like chests and stuff
A chunk is ~27kb on disk
0.o Thanks Andre!
it's on disk not in ram
or when its serialized to disk its very small
disk vs ram can be quite different
Disk does some compression shenanigans
but if it can be that small on disk i assume the objects are very large
I guess a chunk without compression is likely 128kb in memory
which can be optimized a bit but not by a lot without adding extra compute
Is it smaller than a Minecraft chunk?
I heard bigger? - QUOTE THAT!
32 x 32 x 32
32 tall too?
Sorry guys, all the ram will be used for AI, therefore there will be no Hytale servers
It dependa on what a chunk is too
That cant be right?
32 x 32 x 32 x 10 to be exact
we got Y chunks??
I got 512!!! - I rent it out for $1400a gig!
Yes. As far as I remember.
that's interesting this is really cool
thats very good for bandwith tbh
The CPU and Disk is free. The Ram just barely covers those costs.
WHOOOO! - DDR4 is coming back!!! Asus just changed their production!
maybe
Hytale will be 4D. Please review hyperspace, manifolds, orthogonal axes, and non-Euclidean block placement before starting a new world.
Antichamber Hytale mod when
Please open to figure 1a in your advanced hytalian mathematics and read me the first paragraph.
Isn't it already 4D? Time and stuff
Nah, you can't interact with it as a dimension. its still a concept.
What are you talking about 🙈
Saving to disk after creation means it's taking the generated chunk and writing it to the disk
If you were to only save it after modification, then it's simply staying in RAM until a player modifies it and it's marked to be saved permanently
Recall that chunk for me please - Without recomputing it.
What do you think it means when a chunk is "loaded"?
It's stored in RAM, you just read the memory that's allocated for it
Till it goes away
Its not loading or ram that is the issue. It is the computation it takes - Caching to disk means it has already be computed values are already done. You just read it back in.
Once that leaves RAM it must be recomputed back into ram. (Reading from disk makes it that much more efficient)
(Disk would be persisting rather than caching in this case)
The whole idea is that you want it to go away when it's unloaded, aka when the player leaves and the server considers it inactive and frees the memory
You're minimizing world size by doing extra work when necessary, aka when the player comes back
Oh well I guess if you want that extra work, than that is fine. But most don't have the capacity for it. - It is heavy computation, and usually leads to bad experience of playability
If your server is almost entirely exploration, then you don't want to waste the time or storage on permanently saving these regions that are only ever visited once
Normally we tackle this by simply marking chunks as unmodified, until they are modified later
Then you "prune" them, or just exclude them from world exports
We don't know how heavy the computations will be because it depends on the kind of world you're generating
If it's just an endless hexagonal grid, it'll be dirt cheap to calculate
And a complete waste of storage space to store lol
Well, we have a good idea. Voxel generation of anything near Minecraft are quite substantial. Could be 50 - 200ms of compute time.
If it were cheap enough, why wouldn't all voxel games use determinism and just regenrate on the fly?
You point is valid. If there is no reason to keep a chunk and its rarely visited then caching it is useless.,
You could just use something of a cache that rotated untouched data out keeping your storage small.
^ if you don't know what that chunk will be, cache it (its cheap and fast) - Rotate it out after some time when nobody visits it.
Some voxel games literally do, even Cube World does to this day
And I'd argue that Cube World shouldn't have, their world is too complex
But not all worlds are complex, as I was saying
Grids and basic noise are both going to be immensely cheap to calculate, you can easily weigh pros and cons of never storing such worlds to disk
It's not a landslide victory unless you've optimized the storage format, which is a lot more complex than changing your disk caching rules
Yeah, but what your stating is remove literally 90% of of a world. and its cheaper. 😄
Yes, exactly
If your world is simple or has regions that are only visited once, there are benefits
But you would have to know what those are, or your server is going to be working overtime to keep those things generated on a timely mannor (You going to want some good hardware)
Trade off is storage vs hardware.
Storage is practically free for most hosts. Its the compute that costs a bulky amount
(Unless this is a small personal server for some friends)
We never really defined what we are building for. 😄
Or a specific gamemode built such as a rogue like
We never defined what we're building for because we're just discussing the reasons you would do it
And there are lots of reasons because servers are going to be extremely varied in resources and gameplay
Well, the reasons are very specific and likely should be defined. You would not do this just because. 😄
You just gave two examples where it'd make sense, there are lots of applications
Yeah, there are times it makes sense. However they are small and usually temp. usually you would just use an instance and clear it aftward. - Your essentially talking about a truly disposable world as it shouldn't persist. If people were building, you will for sure have chunks that would be common and should be saved.
(Not built on chunks, this would be unmodified)
The cache everything, prune - or something akin to rotating cache, if untouched would still be efficient here.
There are things to be said for both honestly. It determines on storage vs compute limitations, luckily hytale is so customizable that you can easily swap things out
some people still think this game is a minecraft mod
maybe not people who have spent more than a couple hours in this server
Steve Jobs once said about a company's expansion that the marketers usually take over and make the design decisions over the engineers. He was a massive scumbag but he's right. The survival of a company, if no one is using their tech or product, it doesn't matter how good your engineers are. I am a little afraid but Simon is purposely running at a loss for now. The only way this game really blows up is if people start making videos and people who have never heard of Hytale start watching
we only need one Pewdiepie to carry the game
It is the abstract statement, not the thought.
The concept is not to cache unnecessary, but the statement was to not cache the world what so ever unless modified. - Sounds great but then there are real implementations to effectively do this. That one is pretty much the most inefficient choice. - Though there is a single instance I can see it used.
I am just pointing out that implementation vs concept can be two very different things yet achieve the same.
depends on how you read that question as you can also read it as, only store the data added or removed from the chunk
but that caching in memory still can take place which makes it viable and totally different
what if chunks are just the generated thing + WAL log, and players generate the chunk client side and all just have an offset requesting from server
relax. We will generate chunks using AI
The server still needs to generate the chunk to prevent cheating
Yeah. But this still presents an issue of computation if your not caching that data and regenerating it. Delta of the chunk or not its the computation.
i trust my players
Brasil!!!
12 days remain
Do you know if some servers get an early access? Or do all servers start implementing their plugins on the release date.
On release date.
Ok, nice thanks
Hi there
I'm new here. Is there any blog post or article about making servers for Hytale?
We can't send links here 🙈
Just look at their blog, they have a post
Ok, thank ya
I saw you guys were talking about chunking system but I didn't get it if you guys took it from an article or something else
There are some snippets of code in channnels let me grab some of those for you
That'd be awesome
This may help ya tinyurl. com/hytale-modding
It's been a while since my last time coding Java for Minecraft Plugins, so I had to get back since Hytale is coming out
https://discord*.com/channels/523059903812599811/1428794280868184064/1449868302414385245
https://discord.com/channels/523059903812599811/1428794280868184064/1449723059706532002
https://discord.*com/channels/523059903812599811/1428794280868184064/1449718578457739324
Thank yoou
Maybe we got official server?
Oh I thought those mentions were in that channel
https://hytalemodding*.*dev/en
is one of the upcoming projects from the community with a lot of extra resources regarding hytale modding it has all current info but will later also post cusotm docs once the jars release
I mentioned a question in #discussion lol
@summer otter, about the chunking system: Does it also mean that we can choose what data to save and load it for a specific chunking system? Like taking as example SWM which saves and load only necessary data for small maps. Could I do it tho?
Since I saw there is an interface to implement my own saving and load strategy
I think you would need to overwrite some code and therefore disable the main plugin but it should be quite straightforward since you can copy the example code form them and modify it to your needs
Got it
Did they mention any snippets on changing player's UI? Like opening a chest to use as GUI in Minecraft?
noesis ui
but then with a java like interface, they showed some small snippets as well
https://discord*.*com/channels/523059903812599811/1428794280868184064/1441272972756389969
It sounds as long as you conform to their interface you can basically change what you want.
Nice
Hey madelyn, really appreciate you sharing these snippets as someone who hasn't followed devs for long. Do you happen to have more such bookmarks of tweets or threads? Thank you so much
can you already make plugins? I saw this plugin called FancyCore for hytale but idk if its just code thats been prepared for launch
cuz you cant download the actual jar yet
I don't but I know a place that does so let me grab some tweets from there in a hot moment
i wonder how long it will take to port luckperms over. it is pretty abstracted as far as i remember
Nobody knows the API yet. So its likely just prepped.
maybe hytale has it build in we never know
i see
i dont think they would have a fully-fledged permission system built in maybe something like the /op tho
if it's public code, likely just code prepping, what's what I've been doing so I can make it just need a few hooks from Hytales side/make it easier to maintain my own systems 😅
Yeah, this is unlikely. Not a simple system. 😄
idk but they may add it into the game as a feature. They already have stuff like speed modifier
i mean those are kind of essential to the gameplay as far as i can tell. permission system is not
they have basic perms but nothing advanced
a lot of stuff we needed plugins for in mc is already in the base game like worldedit
eh to most server owners permissios system is a very handy tool
Wait, world edit is base game of MC? Oh you mean Hytale? 😄 Ignore
you can best go to the hytalemodding community discord and go to this specific channel to read upon all developments yourself
https://discord*.*com/channels/1440173445039132724/1440346500382064701
altho it is storing data so ye i agree it will likely not be added in the game
do we actually know if we get an api btw? or do we only get to compile the jar or whatever
so someone will need to make an api simular to paper to do stuff more easily? cuz i assume the decompiled jar will be a bit simular of how u use nms in minecraft
it has a plugin manager build in
and some wrappers around the packet stuff
idk tho i dont know anything about that advanced stuff.
oh ait great
but idk how advanced though
nice
as long as we dont need to juggle around as much with reflections its ok
most of the features in the server are just plugins with modules
some are still hardcoded but they try to seperate the server jar protocol and core game functionaility completely/to a big extent.
my words so I may have misinterpreted somethings
very nice if thats the case
hopefully it is
Madelyn speaks the truth
Oh hey André! Nice to get a confirmation on some things from you. Would you rate the development experience with the api adequate for now?
I am no Minecraft modder and my focus around plugins is on hosting/management, not gameplay content.
But everything I've interacted with so far feels solid. The server is meant to be extended and that's noticeable when interacting with the code.
Can you share the server invite
very nice, thank you andre!
https://discord*.*com/invite/hytalemodding
Mods please don't ban me I just try to help ❤️
Thanks a lot!!
For example at the moment, I'm working on a "HotPluginReload", a plugin that checks folders for new JAR files (e.g. your maven output directory when developing a plugin), unloads the current version of that plugin from the server, including all plugins that depend on that plugin, copies the JAR and loads all plugins again. Simply to speed up feedback cycles when developing plugins.
And to a large degree I'm just plugging existing functionality of the server together. I don't need to build a feature that unloads or loads a plugin at runtime - that already exists.
Oh that's cool, yeah I assumed this was already present but if it's easy to make by yourself that's just as great
it would be cool if a reload system was an actual feature in the game
though ofc it could go badly with how bukkit has /reload but barely any plugins actually supported it so it now it kinda just breaks everything
This does exist, there's literally a command for that.
But what I'm doing there requires a bit more logic. E.g. on Windows you can't overwrite the JAR while it is in use. So you need to unload-copy-load
But the core statement I was trying to get at: This stuff is really easy to add. The existing code doesn't fight you when you try to build something like this.
Any idea how well the plugin unloading and loading works? Cause in Bukkit it's not so great
Plugins have a setup, start, and shutdown function that you should implement.
Generally if you use the shutdown function to "clean up" after yourself (stop threads, remove event registrations, these things) then unloading and loading should just work.
I kinda hope that the plugin for hot reloading is so appealing that plugin developers have a reason to properly implement that shutdown handling, simply to make their own dev cycles faster.
hot reloading plugins? oh boi im actually excited for devving now
right but that means that every single plugin must be properly made in order for hot reload to work
slikey confirmed there's permissions in hytale we can manage
doesnt it just need to be the plugin you wanna hot reload?
i guess it could be but what if your plugin in like a library for a bunch of other plugins?
then theyd need some dependency chain where one can unload the rest and so on
Yeah thats what André was working on no?
id be more interested how this would work with plugins that add items for example
Yeah that, and all plugins that depend on your plugin.
E.g. there's the Nitrado:WebServer plugin and the Nitrado:Query plugin that depends on the web server. I have both in my test setup. And if I make a change to WebServer, i first need to unload Query, then unload WebServer, load the new WebServer, and then the new Query.
But obviously I can decide which plugins are part of my dev/test setup
like would unloading custom items result in some sort of placeholder item or would it delete the items from the world
although idk how the item system works so /shrug
id hope it doesnt use numeric ids but some sort of modname:itemname combo
I think it's important to note that there is a difference between Plugins and Asset Packs.
I do not believe that adding a new item (including appearance) actually requires a Plugin (i.e. Java Code). Only adding new behavior does.
So if you make a code change to the behavior, then the item will still exist while the plugin is unloaded.
If your new item is just different values for existing behavior (idk, a sword with a knockback that can yeet someone into the sun) you don't need Java code, it's just a json config change and that supports hot reloading out of the box.
hm i see
I really wanna set up the "Incredible Greatsword of Yeet" now
the smacking stick
I really hope you can disable the respawn screen #announcements
André you have ofcourse had some first hand experience. I don't know how much you delved into the specifics but when adding a prop (so a block or something) what were the size constraints? And would decreasing the uv maps to for example 16x16 whilst the textures stay 32x32 help in performance gains. The reason I ask is as I want to explore creating a very advanced LOD plugin. With 32 states for every prop. + 128 enlarged state colors with 32 states growing that are just 1 pixel. Which would still give us the ability to have 32768 different blocks still in the overworld (which seems plenty to me, otherwise we need to find some way around that). This is assuming every block is stored as 1 int and not 1 long. If it's a long I will enhance the color space to full RGB and make it 1B blocks being able to be in game. Well let me know. This LOD system if possible could in theory make a 64 chunks render distance in performance most likely load 1M blocks in view. Although the server needs to do a lot of heavy lifting for this by prerendering all the 64 different possible states for each chunk. But in my use case storage is not that much of a limiting factor. Well let me know if you know any 🙂
Those are really great and well articulated questions that I am completely unable to answer 
Really sorry, that is not my area of expertise.
It's completely okay it's something I will then dive into once hytale releases
I appreciate your time trying to answer those questions regardless. You do some amazing work André
not only for this community but also your company
You probably even don't need LOD for textures, bcs the textures are already loaded since a block of the same type is probably in close range.
Investing time in this plugin kinda makes no sense, cause the client isn't the bottleneck.
You can store tons of textures in the gddr.
The only current mod which would make sense is adding Distance Horizont with chunks which are sent to the client pre-calculated for static blocks without entities.
It can make sense if you're gpu compute lmited not vram limited. And it's more than just UVs as it also tries to make vertices less complicated and things like bigger blocks that will have less vertices therefore
but we have to test to see if uv maps of smaller texture sizes have any rendering impact for the client
I don't think that's a big problem.
Usually the render-workflow should be:
Server sends chunk data -> client add textures of any block/entity which is in the chunk to the gddr -> client renders blocks/entities which are in close range, LoS or emitting anything.
The goal is to utilize every component in your system.
File system -> CPU -> RAM -> GPU -> GDDR. If you find a way to balance this for every system, that's the holy grail of game development
But that would require client access, which we don't have 
with that I can agree with, but I will try my best from server side to see what we can optimize as well
even if it doesn't make sense at first
I guess optimizing chunk storage can be the best point for performance boost, if you let the server handle more frequent chunk storage you could utilize only chunks which are in the projection of the client vision
Really depends on the server etc. Reducing chunk render distance is probably way easier
hello everyone, my name is MindKore and im verry exited to play Hytale and make some fun content, can i ask something? how its gonna work with the servers? is it like minecraft u need to buy a real?
Are we sure Hytale has zero LOD systems built in? - This looks like your trying to design and develop a fairly advanced voxel rendering engine that would purly overwrite all of what Hytale provides. granted most of it not being possible due to the fact the client doesn't provide access.
Yes, servers will be dedicated from community but sounds like some p2p connection as well
They have some LOD system but I will make some assumptions here and expect it to not be optimal but making it optimalnrequires a special server with more resources
Well the rendering is purly client side, server just produces the data.
Basically, your talking about writing a client to optimize the absolute giggles out of voxels.
Without rendering voxels you can store PLENTY - But this is a client problem not a server problem. Its the rendering that is the bottleneck, many polygons. 😄
I feel like decoupling view distance from simulation distance might be a big lever.
With the relatively low min specs for clients I am not sure that the rendering is the first bottleneck
Sort of, as far as I understand it the client is a dumb client - it received data from the server (if we are talking about dedicated hosting its not on your PC) - This means that the client doesn't need to simulate just needs to produce that visual result. So as long as the server knows what exists and can push that data, the client should be able to render it until it cannot render. - It is a poly count/mesh issue at the end of the day not really a data issue.
Specifically for LOD at least, now getting to simulate that much data is a different story and that is the server side.
Basically you can optimize how to draw that world all you want, but can the client actually handle all of this descriptions at once? - Well that is where the prior statement of back face culling, viewport rendering, and stuff like greedy meshing would come into play as that directly eliminates much of the poly count and mesh required to draw.
^ We can't access this, its the client.
All of this is still speculation because I can't read their source, nor do I know what they are doing 🙃 - Take it with a grain of salt
Does anyone know if they did any raw tests on player count and RAM/CPU usage?
Or if it compares to or is lower than Minecraft.
I know other are saying this too, but you keep saying this and this just isn’t the case. Don’t mean to be rude the server does not handle this, it’s a client issue. You are talking about optimizing settings for the client which is fair and optimizing server settings, which is what you would do for any application you are hosting. Take Minecraft hosting, if you spawn 1000 mobs around the player that’s gonna tax the players system. A more powerful server isn’t going to solve this, rather a better way of handling that if you really must have that many entities which again is a client thing. You can have a stupid strong server which will easily handle that 1000 mobs but that doesn’t mean a players client can handle that when it comes to rendering
People debating about chunk management.
And here i am wondering how client-side visual scripting works and whether it involves behaviors and value converters for xaml
wondering if they'll open a github repo for a community lib so we can contribute UX focused client-side nodes.
it would be interesting to have a public forum for client-side spec changes
Can you explain this in non-coder terms plz
Can you explain this in non-coder terms plz
Can you explain this in non-coder terms plz
Can you explain this in non-coder terms plz
Can you explain this in non-coder terms plz
I think someone needs to check their internet connection
🗿
Zable mooble bebel popol zazazaza
This is the plugin development channel, there are other channels for that
I don't think that's an issue we really have to care about. The dev of Sodium is part of the Hytale team.
The only thing you could optimize is chunk storage serverside for each player by changing the method from "bubble" to "viewport + close range" which would probably take way more server resources.
So optimizing how chunks are stored should be the first big improvement at first.
You could split it into different chunk storages, which only holds simple static blocks or pre-rendered blocks on bootup to only show blocks which are at a surface.
Optimizing texture/poly count handling is completly part of Hytale's task list
What kind of database do you think would be optimal for chunk storage?
I was thinking about Scylla
Doesn't hytale have its own chunk storage algo from hypixel mcserver?
It depends on the server because if you pre-generate chunks and aren't expecting many updates, for example, write speed will not matter much but you will need fast reads. But I'm not convinced using a database is worth the overhead and added complexity.
No way to know if they're moving that tech over to Hytale, but they developed "Slime Region Format", a custom chunk storage format that permits databases as a data source and makes it easier to sync player-created chunks across servers for Hypixel. Their internal implementation is private but you can check out "Slime World Manager" for the open source version
Hello, Have a Hytale Developer API docs?
That's why I want to reduce those by adding more props and the server selects lower res props so to say based on distance + way more other optimizations to make sure the client does less rendering
Not on launch
Oh noo.
You can decompile the jar though
Maybe.
Its not obfuscated so you can just read what the code does
And how to interface with it but we have to wait for launch
I was never talking about a stronger server although that is needed for some of my stuff to still run smooth. Due to the fact that the server will impact how the client renders stuff through changing what it needs to render by guving different data. Yet 1000 nearby mobs well no chance I can fix a lot outside of maybe some mob culling but that would quickly become too expensive on the server. Yet its a start to optimize from so maybe with some development we are able to pull it of for such entities.
Maybe hytale has a better culling algorithm but in minecraft it still pushes all the data even unseen blocks to the gpu and culls only the unseen impossible faces. Which I get and this is why xray even works. If hytale does a better job at culling I don't have to do part of this through server code otherwise well we got a lot of work ahead
Oh really good.
When Hytale developers release docs before Hytale :D
They won't
Docs will likely come some months after early access release
Server jar with early access release
Then, as I said, it seems that the developers will do their own documentation.
Exactly
Someone has to do it, otherwise development can take a long time.
I am confident the hytale modding guide community will cook documentation few hours after launch
and for that I deeply love them
Exactly...people rush to open a server, but the game will probably be so unstable. The game will have big changes in these 3 months, so no need to rush anything.
Every patch will break most of the thing you added
They mentioned it doesn't break that much
It's def not a good idea to design an mmo rpg though
Don't forget, hytale itself is a bunch of "plugins" all together
They said a lot of things. Things will break for sure. It's normal
The game will change so much in 3 months that it's useless to make something
You can make a vanilla-style and open to start promoting.
Hi, I’m planning to create my own RPG Hytale server and I’m looking for someone to collaborate with on this project. I’m interested in a serious partnership and ensuring that permissions and control over the server are well-managed and secure for both side.
I have experience in minecraft server if you have any question you’re free to ask.
I know. I was stating that to be part of the issue with the prior conversation. We dont have those options or abilities and from the sounds of it dont need it. We shouldn't and highly likely wont need to worry about it. (I was saying it's not possible to touch)
This isnt an LOD issue and it cant be, you would have to lessen the information provided from the server. Essentially culling server side to specific players. But it has zero achievement on your prior statements. It just means it achieves a roblox style optimization. All data sent to PC, remove half of it for mobile. Doesn't change how anything is rendered. Just changes what is even rendered.
This is very likely doable, but if your having to do that, this may require reflection as to why, in the sense of what is causing such an issue to require to actively render less it would point to a server issue.
(I could see packet manipulation much like MC NMS preventing to receive any block data from being sent to the player unless exposed to the players view) - But wills this even be required is unknown
Hytale is being built off of MCs issues. I can make an assumption they chose this architecture to control that, but would we not also assume this type of stuff should be built in or at least planned?
We do have very little info so I like your planning.
Your talking client that’s all client server has nothing to do with it or as Sir Niklas stated having the server give the client an easier time. 1000 might be hard for Minecraft never really tried it but 1000 is actually very very doable for a lot of games
it's client stuff indeed, BUT servers send data on what needs to be rendered so if we never send the data in the first place it gets culled in this manner of speaking. Or we send a lower vertex model. It's very overly simplified now but this is the general gist
In minecraft atleast this manner of thinking allowed me to optmize clients joining my server with up to 5x as much fps
I say up to as it depends on specs and such, lower end achieved more than higher end
Right and what you just said was optimized settings for a server that sends less information for a client to renders. Those are client side mods in Minecraft that do that, you could I guess have a plugin that has the server send less but that would be a plugin tweaking settings you can’t normally change on a server. I do understand why your saying, that’s a client side mod
FabouslyOptimized Comes to mind which boosts FPS and performance much like you are saying, it’s entirely client side and does wonders
I did this by a spigot plugin but required me to change several packet handlers
as long as you're creative enough and dare to break the norm you will find out that more is possible.
Even colored lights and other stuff
without shader packs
For sure, but there is something to be said about solving the right problem in the right place. That’s a client side thing, and yes even custom blocks are possible with a resource pack and a server side plugin
true, you can basically add around 1.3k for free without needing to use very fps reducing blocks
but with that being said a lot is possible, and even though it's better for a client mod. That doesn't mean servers can't help reduce some load. As clients otherwise need more ssd space and such.
it's not for all servers, as you will quickly have 64x the normal world size
What your talking is more design. Going back to my example yes its bad design to throw 1000 mobs at a client as the client probably wont handle that
but it will at least help a client new or old to be optimized. It makes it harder though to approach due to it being approached from a server but that doesn't mean it's a bad idea as my goal is to make it even run on very old pcs
with stable 60+ fps atleast my server experiences
You meant when the game releases or is it already accessible ? 👀
when the game releases
To each their own, but my question is why are you solving something that has been solved on the client side where it should be and taking server resources to try and do it
making a client run on very old PC's is a thing minecraft mods already do
- client side modding will be minimal at first and may stay like this, 2. not all users have a lot of ssd space
or if you meant for minecraft
well in minecraft the issue was that even with those mods other things could still be optmized
I know this has been said but these optimizations may be not needed, and tbh any game has minimums. The performance mods I was talking about sound like they will bge native to hytale.
Either or
I even got 2x the performance with sodium installed when I ran this method on a remote server
Whats the plugin if you dont mind me asking?
basically what it did, is similar to anti xray plugins but instead of showing just random ores I showed air after a certain depth layer, and did the same with frontal blocks but to a less extreme extent. What I did do though instead of generating the layeers again and again I pre renderedthose layers in a seperate format such that I had to render the world in 1 time really well (take around 3 irl days for 10kx10k) and then you can just use it. It could be optimized much more for the server but it was a proof of concept. And no I only tested it myself and with some friends who had lower end pcs, and they also noticed fps increases. Which for me was already a sign of it working. And it's fps increase compared to the same world without this plugin. But it was with 3 people total so I can't truly say anything about the big findings, although I did also test using my mum her 15 year old pc. which got the most improved results of all. Yet it's a trend that shows potential but still requires more testing to see if it's for everyone
I hope ECS and data oriented memory layout will help with those 1000 entities people will try to render/process at once both on client and server side.
All depends how the meshes, shaders and particles are handled though
I gotcha, thats cool so its prerendering and pregenerating basically and feeding that to the client?
exactly
I have more experimental optmization stuff but those were less optimized and showed less promising results
there is def ways to handle it and make that feasible really comes down to how the game is designed and optimized. The server handling that much is trivial, its more the client figuring out how to do it lol
Keeping my fingers crossed but hopefully it will be good. I know data driven and Ecs is always a positive. Not sure if Hytale will have something potentially similar to burst compilation like Unity has
Not familiar with burst compilation personally. I’m really hoping for better container support / scaling support which it sounds like Hytale is thinking about this and solving some of the reasons Minecraft doesn’t play nice with it
Also hoping Itzg makes a repo for Hytale or joins the team. That’s basically the standard right now 🤣🤣🤣
I am sure they will!
I believe slikey shared a teaser for the server documentation and it explicitly has a section regarding multi-system scaling
lets go!!!!
Just keep in mind, performance is likely going to be negligible. This engine was developed around 2015 and is stated to be 4 years old, I am going to guess it is going to run on a 2015 machine, their benchmarks state so. - my 4090 is going to rip through anything that stands in its way, I feel performance for rendering is going to be the least of our worries. Don't optimize too early. We likely won't have to considering the actual development team will focus optimization themselves. (With proven experience in the subject.)
This is entirely why ECS exists, there would be no point to do ECS architecture if you forego the benefits.
Luckily for me I play on a 2015 laptop so I stand a chance
Yeah 4090 here as well and it might be harsh, but the “getter a better PC if you want better results” does apply to some extent, though optimization should be a consideration for the devs for sure
Certainly wanna make it accessible to as many as possible but if your running extremely old hardware it’s not necessarily fair to expect the game to run well for you
Given that it's voxel graphics, I expect it to run very decently on mid hardware. IMO if it runs at 30+ fps on a steamdeck it's good.
That's counterintuitive I would expect voxel engines to run slower than regular games
Hello! When do ptherodactyl eggs appers?
We need the server jar for that, so ASAP after release I suppose
Was reading and someone changed her name sus
They do. 😄 - This is typical behavior, but it just means you have to tone it down.
What they're probably referring to is the low poly style of Hytale
A single scene in some games can have more polygons than the entire render distance in Hytale
The engine itself is going to be more intensive, but it benefits from less polygons
Assuming they do some aggressive optimizations for polygon count on terrain
Such optimizations are pretty common though, so it's not a wild assumption to make
And they already provided recommended specs, so judging on that they're implemented already
Minimum Requirements (1080p @ 30 FPS)
- OS: 64-bit Windows 10 (version 1809), Windows 11
- CPU: Intel Core i5-7500 (or equivalent), AMD Ryzen 3 1200 (or equivalent)
- RAM:
- Singleplayer, with dedicated graphics: 8 GB
- Singleplayer, with integrated graphics: 12 GB
- Multiplayer-only: 8 GB
- GPU:
- Integrated:
- Intel UHD Graphics 620
- AMD Radeon Vega 6
- Dedicated:
- NVIDIA GTX 900 Series
- AMD Radeon 400 Series
- Intel Arc A-Series
- Note: A graphics card with up-to-date drivers supporting at least OpenGL 4.1 is required. Future versions of Hytale may additionally require support for Vulkan 1.3 and DirectX 12.
- Storage: SATA SSD with 20 GB of free space
- Network: 2 Mbit/s connection for multiplayer (UDP/QUIC compatible).
The Steam Deck runs at 800p, and beats the Vega 6 by a noticeable margin
So on paper, it'll hit be able to match the refresh rate on minimum graphics
If you want more fidelity than that, I'm not well-informed enough to give estimates
But it does look like you'd be able to target higher graphics if you're targeting 30fps
And it's possible Hytale will greatly surpass these framerates
apparently theres some website you can test if you make the requirements
"can you run it" someone linked in #game-discussion a day ago
They'd just be estimating based on the hardware specs like we are here
What we do know is that the Steam Deck doesn't hit the recommended CPU specs, but we also know that those are for singleplayer specs
So it can almost definitely hit minimum but might not be able to hit recommended, and it's probably not going to hit 90hz on an OLED model
Well, the steamdeck is able to run stuff that on paper shouldn't run on it. So hardware reqs are just something to be aware of but wont make it or break it.
What can it run that it shouldn't be able to?
I hope that even if they dont support controllers, at least they leave the some api so we can make mods to implement it
Steam Input will be able to bridge the gap at least partially, so Steam Deck on day 2 of early access isn't going to be unplayable
At least one person will toss together a community configuration within the first few days, assuming they don't just publish one themselves
it shouldn't be able to run cyberpunk in a playable state on paper
playable = 30+ fps
I just checked Hytale on it and all the stated requirements are completely wrong 🙈
I have no idea where these numbers came from, but it's not the latest blog post
really?
Hytale Recommended Requirements
CPU: Intel Core i5-10400 (or equivalent), AMD Ryzen 5 3600 (or equivalent)
RAM: 16 GB
VIDEO CARD: Intel Iris Xe Graphics;NVIDIA GTX 900 Series;AMD Radeon 400 Series
OS: 64-bit Windows 10 (version 1809), Windows 11
SHADER MODEL VERSION: 6.0
systemrequirementslab*.*com/cyri/requirements/hytale/19825
Here are the Hytale System Requirements (Minimum)
CPU: Intel Core i3-3210 3.2 GHz / AMD A8-7600 APU 3.1 GHz or equivalent CPU SPEED: Info RAM: 2 GB VIDEO CARD: Intel HD Graphics 4000 / Nvidia GeForce 400 Series / AMD Radeon HD 7000 PIXEL SHADER: 5.0 VERTEX SHADER: 5.0 OS: Windows 7 and upHytale Recommended Requirements
CPU: Intel Core i5-4690 3.5GHz / AMD A10-7800 APU 3.5 GHz or equivalent CPU SPEED: Info RAM: 4 GB VIDEO CARD: GeForce GT 710 Series / AMD Radeon RX 200 Series DEDICATED VIDEO RAM: 256 MB PIXEL SHADER: 5.0 VERTEX SHADER: 5.0 OS: Windows 10
and
Here are the Hytale System Requirements (Minimum)
CPU: Intel Core i5-7500 (or equivalent), AMD Ryzen 3 1200 (or equivalent)
RAM: 8 GB
VIDEO CARD: Intel UHD Graphics 620;NVIDIA GTX 900 Series;AMD Radeon 400 Series
OS: 64-bit Windows 10 (version 1809), Windows 11
SHADER MODEL VERSION: 6.0
idk what shader model is but
What's the link?
DEDICATED VIDEO RAM: 256 MB is a meme or isnt it ?
www.systemrequirementslab*.*com/cyri/requirements/hytale/28985
Lmao they have multiple entries for Hytale
We should absolutely not be referring people to this site
That one doesn't even have a game description like the other one
yeah they do
They recommend the same machines for both entries, despite the different specs, and have affiliate links for all of them 🙈
will making gui's be possible?
Yes, the callbacks will be handled server-side though
they will be (most likely) server driven ui, also i remember they say something like use noesisgui for nameplates so i expect to be able to use some 3d world ui
The plugin will only be available in java ?
Yes unless if you make your own multi language interface or own server client based on the hytale protocol
Thanks
Pretty sure they said they use their own language, but plan to move to NoesisGUI
They have a .ui format using json style
noesisGUI should be xml based if I understood the docs correctly and is quite similar to HTML ofcourse with many differences, but if you know how HTML works this should be pretty easy to learn
but maybe they made a json wrapper around it
Xaml is so easy and noesis have a editor u can also use blend from vs community noesisgui is based on wpf
With ResourceDictionary maybe people can make styles for default ui
Anyone know if dedicated servers will support clustering?
Any news on potential hytale login for third party sites ?
Afaik the planned system for utilising multiple hardware is a transfer packet, directing the client to reconnect to another IP/port. No middle man proxies with multiple backend servers.
From how they are handling different things sounds like cluster support will be pretty good
gogooggo
Stop counting, it just makes hytale feel longer to come out lol
That's correct. There might still be use cases for proxies but they won't be required for clustering
If anyone is interested in collaborating on a cyberpunk-themed server, shoot me a dm
Proxies are good for load balancing, but you probably can do a workaround with DNS resolver or changing the way how the player connects to another server.
It's also better to handle your own auth system.
You can also do load balancing with the transfer packets
Works the same as the proxy, but without having to keep the connection alive
Explain pls
you can choose which server to send the player to
so you can send them to the most empty one
or the one they have the lowest ping to
or a static one based on their id
Yeah, but how does the transfer packet being involved
the transfer packet is what contains the address/port of the server the client should connect to
From where you got that info? What I've understand so far, the transfer packet + payload will be sent to the other server ON transfer init event and not to the client and then to the server.
- send transfer packet to the client
- client disconnects
- client connects to the specified address/port and provides payload
So the code level name for this is ClientReferral
It's a packet that the server sends to the client. It contains the HostAddress and a data payload, which is a raw byte array
The client that receives that packet then connects to the provided HostAddress and sends the data payload as part of the auth process
Where is the load balancing 
in your logic
The server can use arbitrary logic which HostAddress to return to the client. Implementing different load balancing algorithms through that should be straight forward
So basically what I wrote in my first message 
if you mean that with "changing the way how the player connects to another server" then yeah

But, that means:
You have to verify that the player can connect to the server with a queue system, otherwise it may happen that two or more players joins the server at the same time and if the server is full, the connection will be dropped.
So basically:
Server 1 looks into DB/API whatever, which server is free -> Server 1 request transfer for player X to Server 2 -> Accepts -> Queue player X -> Wait for connection (30 secs timeout) -> Tell Server 1 all good, let's go -> send transfer packet to client -> client disconnects -> client connects with transfer packet + payload to Server 2
You don't necessarily have to tell Server 2 that the player is coming. You can put all required info in the payload.
Server 2 can also decline the connection (e.g
if it's full) by simply transferring the user back.
There was also some talk about fallback addresses (where the client should connect if connection fails) but I'm not sure if that's in yet
Hm, yeah ik.
I'm thinking about Boss Dungeons portals, so declining the player connection isn't an option.
The server from where you connect needs to verify that you can connect to the other server
would a reverse proxy be less complicated?
Yeah, probably.
So, proxy is still a thing
how would it probably be less complicated?
It can't verify that. You can't predict if the user will be able to open a UDP connection to the other server. It's an error case you probably want to account for, so I'd recommend to factor that into the design
But Nitrado will probably give us a built-in method in the game server panel
Sounds like a good option for renting mutliple servers
Hmm, sad NitrAPI doesn't offer renting game servers 
If you reach peak player count, simply rent more game servers for 3 days
The search in the api docs isn't great, but the feature is in there
Order?
Oh, well, thought it's on Service
Order -> Gameserver
Do we have player management with the API for Hytale already at launch or still planned?
Not clear yet. The next few days are gonna be fun
Would be neat, that would save me a lot of time creating admin plugins and handle authorization.
We already integrated the API into our forum, so we just use the same permission system for our moderators. 
If you end up building such plugins, make sure to check out the Nitrado:WebServer plugin, that handles authentication and authorization for you
There's a post about it on the hytale Modding discord
.
Will we have noesisgui on release?
Hytale already uses Noesis for some parts (and they're in the process of moving everything else over as well), but we don't know how much control our plugins will have over it on release
do we know if the payload is signed somehow, or is this a potential untrusted payload?
I believe you'll have to sign it yourself. It's just raw bytes, you can do whatever you want with that
I hate SSL certificates
Relatable
I mean with the right libs its not a pain working with it ^^ but managing that stuff sucks to be fair xD
@modern shuttle which plugins will be provided direclty at the launch by nitrado?
At least WebServer, Query, HotPluginReload, PerformanceSaver
Did you mean your linking Nitrado with a forum?
If not i'd be interested in hearing more. I'm working on a way of linking a forum with a Hytale server myself, just I plan on waiting for Hytale to release before I create an api and integrate it into my forum add-on.
Damn 10 days till hytale comes out
I want to make a server but not sure if I'll be able to
Why would you not be able to
10 days until the DDOS attack and no one can play 🙃
if this comes real i will know who to blame
I have a lot of big ideas and not sure if I'll have the time and coding knowledge to do them all 😅
or do you mean a natural one by all the popularity like how the website went down for reserving usernames
awh goodluck with that, but you can always try atleast 🙂
Yeah I'm going to start small and do what I can I think
People downloading, login, new buyers, etc. Natural DDoS
i always laugh a bit when i see people rushing to get on on like the 13th
it should still be there the 14th or like 8 hours after release
13th isn't actually a great day... It's a Tuesday. Works gonna hold a lot of people back. 🤷
likely chosen on purpose
gives them wednesday-friday as classic workdays with less people and hopefully devs online and active
also probably lightens the load
😭
Tuesday is a great day to deploy a new system to production. Monday is for preparation and dry-run and then you have 4 days to put out fires
Well just is download and login so i think will be fine quickly
Hey, do you know if server transfer has a transfer screen like Minecraft, or is it possible to have instant transfer with no loading screen?
For example - loads to the next server when user still on server, then when ready it does the transfer no loading screen
Oh the loading screen, i wish we can make custom loading screens like just a splashart+progessbar but also a animation of the player falling in a portal till all assets are loaded
If you can load asynchronously you wouldnt require a transfer screen. That said, unsure if you can be connected to two servers at once for that asynchronous to even work.
This would be so sickkkk animated loading screen
Interactive loading screens. Snake, rules
This ALSOOOOOO
How are people posting plugins already on “Modtale”
Good place to put ads
They’re only for demonstration, there’s a warning on the top of the site
I do not know how it's going to be for launch, sorry. Seamless transfers would be pretty dope though
I always assumed it was seamless since they're pitching it as a replacement for reverse proxies
Telling you the same thing I told @scarlet spoke, have a look at our WebServer plugin. Can be used independently from our services and could potentially do a lot of the heavy lifting for you.
What does WebServer do? All the other seem to be pretty intuitive
Is there a link to more info? I assume it’s a control panel?
Edit: I also see it allows account linking to an external web app
Edit2: thank you for all the questions you answer in the community
There's a more in-depth explanation on the hytalemodding[.]dev Discord, but it's a plugin that other plugins can register to, to expose http endpoints, with support for player authentication and permission checks using Hytale's built in permission system, plus service accounts (bot users).
Essentially we want to provide a good solution that people can just use to spin up an HTTP endpoint, instead of opening their own http port, as that's a nightmare to support as a server provider
Everyone talking about developing, and plugins when the game base isn't even released yet and have no clue what their doing
Btw, if you dont know c++ goodluck
Server api is Java ☕️
Nope, it's coded in c++, and plugins are c++
You've got a lot to learn bucko
Start doing research on hytale, and understanding the mechanics
🤦
Stop trolling
I'm not trolling. I own 3 minecraft servers with over 100+ players bedrock and java including developing a hytale server
My hytale server is currently in 3rd place
End of conversation
Idc?!
Just don't tell stupid stuff
Lol, what. Its Java
Sounds like you are the one with no clue.
Don't go throwing shade unless you actually know what you are talking about
I’m really excited for this launch. Been writing plugins since it was called Bukkit
no way admin appearance
Bruh got source code access+ battlepass
Obvious troll was insanely successful lmfao
lmao
Zero just couldnt believe what he was reading and had to step in
Idk dude there are plenty of people who are legitimately like this
I was just skimming and was like, bruh
oh yeah also the top bar says "Discussion about making Java server plugins."
¯_(ツ)_/¯
Imagine having done all this work for Hytale as a project and this is what you have to deal with, kudos to you Zero 😄
Nah online discourse these days is "haha you reacted to me spreading misinformation, I ragebaited you, haha noob" 🫠
"its not ragebait you just lied" moment
Hello everyone, how are you? I think I'm gonna start learning Java soon to make plugins & stuff
I'm already learning C# so xD
i love how it is java because im already learning that anyway
You missed cpp 
Yeah I mean its fine, if thats the case they just get ban/mute/block and I slowly filter my feed, lol
Yeah, maybe one day >-> but not now hah
C# is actually C++++ and the pluses are stacked like
++
++
It’s twice as much C as C++
Hilarious
You see, you got moderator rights on here, I need to find my inner zen every time this happens lol
The only C you need to learn is HolyC. Everything else is heresy
C++++
someone mentioned the Holy See?
True, let's all pray for HolyC
I don't think I'm invited to visit the Holy C
Holy Sea too
I never realized that HolyC is a pun for Holy See which totally makes sense because Terry was super religious
Never too late to learn 😂
😂 Go pal
I think I am going to develop a player state serialization library first
To read/write inventory slots and stats and items etc. because that will likely be a nightmare
Ohh, good luck, I never coded a library before
Maybe I can help? I just need to learn
Hmm I tried to post a GitHub link for a Minecraft player data serializer I made a long time ago but it was blocked
Ohh sad
Wanna sent it to me? So I can see a little. I would love to work with someone or at least help for stuff like these
Absolutely, but there'll also probably be a lot of competition and disagreement in the early days
We will need something like ProtocolLib I bet unless the Hytale devs expose everything to us
I think the vibes for first party modding vs third party (like Minecraft) will be very different.
Like if mojang had released an actual plugin api protocollib wouldn’t need to exist
And I read we won’t have version specific obfuscation either. (Or any obfuscation at all)
So it’ll just be a less hostile environment to mod in
I don't have the quote on me but server jar should be unobfuscated, no official documentation on day 1 but they encourage you to decompile
We are releasing the server as shared source - you will have the source code with no obfuscation and all our comments in it. You can run very heavily modified versions of the server. If you really want to and you have the technical skills, you can make your own Hytale server software. I know some Rust programmers are already warming up the keyboard. You have to make sure you keep the protocol compatible with the latest version of the client though.
Wait is it a plugin API or are we just modding the server???
Bukkit style hooks or nah?
We essentailly have server source
We've seen some example plugin snippets but I cannot share links in here. They're on the hytalemodding site
Dm me pls
Sent a friend req as you have dms off for this server
@vernal niche
Ah I don't need the actual game server to do any of the heavy lifting.
I've essentially created a user managed white list.
As I haven't seen Hytale's structure I've avoided adding it yet but I can give an example using Minecraft.
Essentially you have two separate elements. The site and the game server.
The site in which case is a forum, has a user configurable area where they can provide a username. This then stores the usernames of players in a database. This database is then semi exposed via an api. In this case I'll use the example /api/verify/minecraft
The game server when a player joins, queries the api like so: /api/verify/minecraft?uuid=00000000-0000-0000-0000-000000000000 which would return either a success or a failure.
Thank you, but I shouldn't need all those bells and whistles.
You can do both, either USE BUKKIT or make your own BUKKIT
Is there still no server API documentation for plugins
there won't be for atleast a month or longer to come
Oof
classic
How will people be able to make plugins? Decompile the server.jar and overriding methods?
exactly
🤔
although there is some API for it which you have to figure out yourself
I've never tried to do that with Minecraft, always just used the spigot events 😅
it won't be that difficult
minecraft was never designed with plugins or mods in mind
so it should be easier in general once you get the hang of it
Won't the server API already be comprehensive enough that you would only need to "hook" it without having to modify the server jar?
code injection and stuff is genuinely really easy anyway, so you don't need to modify the jar anyway
for the biggest part but it would depend on what crazy stuff you are planning to do
but yeah they plan to have a comprehensive api, i don't have expectations high for that at launch though
hello there! not sure if it was already mentioned but what is the JDK the game will be using?
So on launch can you self host with like a server.jar or something?
Server files will be published asap with launch
SO before launch we cant do anything about making plugins n stuff?
Meaning that all servers will be vanilla on launch?
basicly
Griefing intensifies
griefing those trork encampments certainly
will be funny without rules/plugins .Admin goes offline , chaos erupts
the bigger issue will be keeping the server from not crashing
cap settings ,Decline player connections
Really curious to see the limits of performance server-wise, if we need a 64gb ram server to host 200 players will be a pain
Same goes for networking bandwidth consumption
64GB for a open-world survival server with 200 players, I'd say good luck with that x)
How many GB would Minecraft need for 200 players
at the start will be rough , but if the server is open source , optimization won't be a problem later on,anyone can contribute
I wasn’t specifically thinking about open world, more on a skyblock multiple instance like optic
But I didn’t mention it so my bad
Yeah I don't think I really have the resources to host a big server like I want 😔
Hello all. I’m trying to network with modders/developers. Feel free to add me 
That's what we've done. Just built all the core features now on an internal API, get all boring stuff out the way before release 😛
Hmm how do you verify that a forum user who says they have a Hytale account actual does own that account?
Or is that not a concern?
Right now it's not really a concern, It's a close community so I don't need that kind of scrutiny.
That said if I did need to up it, I could add a one time token on the site, and a command in the game that would trigger a post api on the site to confirm ownership. It shouldn't be to hard to achieve.
You can always put 1 secret ID to the player's profile and tell the player to add that too
Smart way of doing it, i'm more leaning on staying away until the actual release. I rather see what I'm working with than with hypotheticals.
less than 11 days guys!
That's a bit more awkward in implementation.
I could use a short lived code or something similar to the smart phone auth though.
that works too
Linking system would not be hard to implement at all
"Verification"
Shame there's no OAuth provider from Hytale but not the end of the world
Could also have a fake server that you connect to, run the Auth handshake and terminate connection with an HMAC in the kick message and so use server join as an Auth method.
yeah many vanilla servers,
i wonder what things will kick off as the basis of a protected server,
worldGuard/Admin Menus/Command Ranks/ etc etc
and how long until those start popping up
as that will be a pain point for sure
That's a point, but that would require another server running purely for authentication. Is there a reason this shouldn't be built into the main server?
You'd just check when a player joins, if the api returns linked but not auth then it would kick them with a one time password which they could then input into the site.
That said I wonder how far up the connection you can inject this logic.
hey fellas, has the Hytale team commented on what mod or plugin development will be like?
Sort of. There have been snippets, the aechotecture and capabilities
slikey did say in another conversation he would create an example mod for a good reference
I think a lot of people are over complicating a flow of Web auth with someone's hytale account, it really isn't going to be too difficult
thanks for the answer guys 
Eh, in order to sign in with someone's Minecraft account via OAuth (Xbox Live account) it is like a 50-step process, so surely it can't be worse.
TL;DR of how auth works in Minecraft for your own web applications:
- First create an app in Azure Entra ID
- Get your app approved by Mojang
- Call Entra ID OAuth2
- Get the code grant, trade it for an access token (so far, normal OAuth2 stuff)
- Use the access token to authenticate at Xbox Live (oh no, where is this going)
- Get an Xbox Live access token (great, another access token)
- Trade the Xbox Live access token for an XSTS token (yay, more tokens!)
- Trade the XTS token for a Minecraft access token (4th token in the flow...)
- Now with the Minecraft access token, you can finally call minecraftservices API to retrieve a UUID
So yes, it couldn't be much worse
Hi, I'm not sure if this is the right channel to ask this, so if it isn't, Im sorry.
I'm looking to see if it's possible to create Hytale servers yet on your own computer, as I've seen images but haven't found anything. Can someone confirm if it is possible? If so, where do i can download it?
Sorry for bad english
just set up Java for VSCode or Cursor
I would advise NOT using the microsoft packages for VSCode and use Oracle's... They want you to make a REDHAT ACCOUNT to install the JDK with that extension pack
Intellij is likely best for Java but I would trust VSCode or Cursor better to use AI
i was talking about websites that dont operate a server anyway - if you actually run a gameserver then its w/e
It'd probably be easier to set up a blank paperMC server with GeyserMC in the middle of the void, have a person enter a linking code on that server to link to Hytale
cant you just make a custom server in any language just to accept the handshake packet, verify and close, atleast thats what i did to verify link mc accounts
no clue how quic works and if it closes like tcp
Just do what NameMC does to link accounts, make a server, on the Hytale server/discord, have them enter the IGN, give them a 10 min code, have the other account join that server and enter the 10 minute code