#server-plugins-read-only
1 messages ยท Page 30 of 1
Go for it! May help relate!
I'd expect something more like tickVelocity as opposed to Update, right?
Big enough to be worth an entirely different architecture. Something like flecs, if you don't spend too much time on other things like visualizing the entities in 3D, you can easily go to 1 to 100 million entities. In a more integrated thing like Hytale not as many but still way more
Lmfao and then we have fckin inheritance
Oh yes! Single thread 10s of thousands, multiple MANY HUNDEREDS if not close to a million or more
So it is something like I said with class that has multiple interfaces. It just instead of registering the class into a single registry, I register it into those individual component registeries based on what interfaces the class has, right?
Essentially yeah! Link them with a general "container"
Maybe a stupid question, but inheritance is just an abstraction
Why are we not doing compiler optimizations to group these things together naturally?
Inheritance is a totally different architecture here
Oh okay... I've done that a few times, not all the times, but a few times already... I just didn't know that's what it was called
Inheritance comes ๐ซ inherently ๐ซ with depencency on one another. The polymorphism breaks the theoretical linkage to ECS architecture. You could still kind of translate to one from another but good luck writing a compiler for that lmao it would require like a good semantical overview of your target goal. I guess an LLM would be more befitted to that than any deterministic algorithm
nevermind the code example, I can't be bothered to come up with good enough code lol
I've always just called them components or modules ๐
Inheritance is limited to whatever the parent allows for, sort of.
I am making Claude do it. One sec. I will toss into a thread
For example in Minecraft, I cannot add arbitrary NBT / metadata to all blocks in the world that would persist, only to blocks that hold state.
I lied I wont.
lmfao
Well basically, in OOP you would have to loop through every entity and then test if they are a container and then make them do something.
In ECS, you can just say "Take all the containers and do X, Y, Z"
LONG MESSAGE
Minecraft Container Example - Server Authoritative:
struct Position { public int X, Y, Z; }
struct Inventory { public List<ItemStack> Items; public int Size; }
struct Container { public string Title; }
struct Furnace { public float BurnTime; public float CookTime; }
struct Hopper { public float TransferCooldown; }
// SERVER ONLY - Systems
class FurnaceSystem
{
public void Tick(World world, float dt)
{
foreach (var id in world.Query<Inventory, Furnace>())
{
var inv = world.Get<Inventory>(id);
var furnace = world.Get<Furnace>(id);
// Smelt logic here
furnace.CookTime += dt;
if (furnace.CookTime >= 10f)
{
// Transform input -> output
furnace.CookTime = 0;
}
world.Set(id, furnace);
world.Set(id, inv); // Sync to clients
}
}
}
class HopperSystem
{
public void Tick(World world, float dt)
{
foreach (var id in world.Query<Inventory, Hopper, Position>())
{
var hopper = world.Get<Hopper>(id);
hopper.TransferCooldown -= dt;
if (hopper.TransferCooldown <= 0)
{
// Find container above/below and transfer items
hopper.TransferCooldown = 0.4f;
}
world.Set(id, hopper);
}
}
}```
CLIENT - Doesn't need to understand the logic:
```// Client only renders what it receives
class ContainerRenderSystem
{
public void Render(World world)
{
foreach (var id in world.Query<Container, Inventory, Position>())
{
var container = world.Get<Container>(id);
var inventory = world.Get<Inventory>(id);
var pos = world.Get<Position>(id);
// Draw based on data, doesn't care about Furnace/Hopper logic
RenderContainerAt(pos, container.Title, inventory.Items);
}
}
}```
Now here's the magic - MODDER ADDS NEW CONTAINER:
// Modder creates: Sorting Chest (server-side mod)
struct SortingChest { public SortMode Mode; }
class SortingChestSystem
{
public void Tick(World world, float dt)
{
foreach (var id in world.Query<Inventory, SortingChest>())
{
var inv = world.Get<Inventory>(id);
var sorter = world.Get<SortingChest>(id);
// Custom sorting logic
inv.Items = inv.Items.OrderBy(i => i.Type).ToList();
world.Set(id, inv); // Syncs to client automatically
}
}
}
// To create one:
var entity = world.CreateEntity();
world.Add(entity, new Position { X = 10, Y = 64, Z = 20 });
world.Add(entity, new Inventory { Size = 27 });
world.Add(entity, new Container { Title = "Sorting Chest" });
world.Add(entity, new SortingChest { Mode = SortMode.Alphabetical });```
Compare to OOP:
class Chest : Container { }
class Furnace : Container { }
class Hopper : Container { }
// Modder wants auto-smelting hopper?
// Multiple inheritance? Decorator pattern? Huge refactor?
class AutoSmeltingHopper : Hopper, Furnace // โ Can't do this```
I would recommend reading into the Bevy game engine. It's written in Rust but uses a very good fundamental ECS structure and the learning guide explains ECS pretty well
Okay that will be my last code snippet, I hate taking all of the chat. ๐ (Code snippet timeout)
This summarizes the ECS idea and how composable systems can alot almost infinite amount of freedom (While allowing Server Authority)
Curious to see how Hypixel will explain their ECS
Have they actually confirmed anything like ECS and components for entity processing? It would make sense given the way they use nodes and such in other places
Yes, the server has its own custom ECS
Yeah but a custom ECS not focusing on performance (because actually making an ECS noticeably benefit from cache locality and allat is quite troublesome and very low-level) but on architectural benefits
That makes sense
Oh ECS literally stands for "entity component system"
I guess that's why I've always called it components LMFAO
Can't wait to do this and blow everything up:
Entity e = world.queryFirst<KweebecTag>();
e.addComponent(new VolatileComponent(10000000000));
It really should be called "Entities, Components, Systems" lmao
I agree.
So if I was to write a mockup of a lobby world class and a game world class, it would be something like this to allow ECS:
public class LobbyWorld : IWorld,
IWorldWithCosmetics,
IWorldWithGameSelection {
}
public class GameWorld : IWorld,
IWorldWithEntityDamage,
IWorldWithFallDamage,
IWorldWithVoidDamage {
}
No, this uses inheritance. ECS is about composition
The world itself can be an entity and you would give it the VoidDamageComponent and stuff like that
But can I not just register both worlds into all different registeries based on what interfaces they have?
Idk it looks kind of like ECS to me ๐ ๐
I'm not sure of what you mean
Idk Java syntax but I see the components there and how they're shared between classes
Those are interfaces and it looks like C# syntax.
I cant wait to pretend to know java on release
To be clear, in ECS, the "World" is not the game world but an ECS-related name. It's basically the entity container.
public class LobbyWorld
e.addComponent("World");
e.addComponent("GameSelection");
e.setProperty("World", cosmentics.Enabled = true);
var worldEntity = new LobbyWorld
This would be closer
I've only ever read decompiled C# and it sucked
And the Java I've worked with was fine, but it's been a long time
If that snippet above is more like C#, I guess it makes sense why I didn't understand it ๐
When I go to register the LobbyWorld class, I would look at all the interfaces it has and add it into cosmetics registry, gameSelection registry. And for the GameWorld class, that one would be added to entityDamage registry, fallDamage registry, voidDamage registry.
Then in my main loop function, I would just go through all those registries and loop whatever is in them.
Im not even a developer really. I write automation scripts in python, PS, YAML, JSON. But it cant be that hard... right?
Your just missing like 95% of the concepts. ๐
Scripts are definitely a couple steps removed, and they're pretty significant steps
It's moving between real languages that is mostly fine
So now you looped the same object 2-3 times instead of once for whatever you need :/
Well isn't that the point of ECS? From what I understand OOP is the one that loops through one giant list and tries to figure out what needs to be process using if statements and switch statements
No, in a ECS, you would have "systems" that would loop through what they need only with complex queries if necessary
struct Entity(u64); // Definition of an entity, only holds a single integer as an id
struct Position { // Component
x: f32,
y: f32,
};
struct Velocity { // Component
x: f32,
y: f32,
};
fn update_positions(query: Query<(&Position, &Velocity)>) { // System
for (pos, vel) in &query {
pos += vel;
}
}
This is effectively an ECS in practice (written in Rust here cuz idk its readable)
The system finds all entities that match a certain query based on the given components. In the given system, no entity would be included that has just one of those components or none. Only entities with both of those components are found and operated on. Such a query system is quite powerful and also a reason for benefits in the performance
That update positions is the system, that is the only thing that is looped through - This is response for above
This system applies velocity on the position (not well cuz I couldn't be bothered to respect time or anything physical)
And more specifically ALL systems are looped through at the same time - ANYTHING with "update_position" is called in a loop
But systems can loop through the same entity multiple times, if needed, right?
Every update.
You could do multiple for loops but the system itself usually runs once per update cycle
I guess some ECS's have a more rigid system where u could actually configure how a system actually runs but this is the base idea
each system runs once per tick, right, but an entity could be registered in multiple of those systems that run per that one tick, right?
Yes. But it's important to note that systems operate on components, changing the data. I wouldn't recommend to think in terms of entities, just think about components and systems
One sec, I am insulting claude for an example. ๐
struct Position { public float X, Y; }
struct Velocity { public float X, Y; }
struct Health { public int Value; }
struct Attack { public int Damage; }
// Systems
class InputSystem
{
public void Tick(World world, float dt)
{
var player = world.Player;
var vel = world.Get<Velocity>(player);
if (Keyboard.IsPressed(Key.W)) vel.Y = 5;
else if (Keyboard.IsPressed(Key.S)) vel.Y = -5;
else vel.Y = 0;
if (Keyboard.IsPressed(Key.A)) vel.X = -5;
else if (Keyboard.IsPressed(Key.D)) vel.X = 5;
else vel.X = 0;
if (Keyboard.IsPressed(Key.Space))
world.Add(player, new Attack { Damage = 10 });
world.Set(player, vel);
}
}
class MovementSystem
{
public void Tick(World world, float dt)
{
foreach (var id in world.Query<Position, Velocity>())
{
var pos = world.Get<Position>(id);
var vel = world.Get<Velocity>(id);
pos.X += vel.X * dt;
pos.Y += vel.Y * dt;
world.Set(id, pos);
}
}
}
class AttackSystem
{
public void Tick(World world, float dt)
{
foreach (var id in world.Query<Attack, Position>())
{
var attack = world.Get<Attack>(id);
var pos = world.Get<Position>(id);
// Find enemies near player
foreach (var enemy in world.Query<Health>())
{
var enemyPos = world.Get<Position>(enemy);
if (Distance(pos, enemyPos) < 2f)
{
var health = world.Get<Health>(enemy);
health.Value -= attack.Damage;
world.Set(enemy, health);
}
}
world.Remove<Attack>(id); // Attack done
}
}
}
// Game Loop
while (true)
{
float dt = 0.016f; // 60fps
inputSystem.Tick(world, dt); // Read keys
movementSystem.Tick(world, dt); // Move everything
attackSystem.Tick(world, dt); // Process attacks
}```
Each system defined, ANYTHING that owns it is triggered via a single loop (There are other complicated scenarios but I don't want to dive into that.)
Own is bad wording!!! Sorry! Put me in timout
Entities are not registered in systems but in the "world" of the ECS. The systems will use queries on the world to find the entities they need.
So you still have one giant list?
ECS use a lot of magic in the background to make queries and all that jazz very efficient
Your question basically is, if a single entity can end up in different queries in different systems, and yes, but those queries usually define on which components they want to operate on
Yeah basically, but as I said, it's built in a way to be very efficient
Which is why they are so complex to code yourself ๐ฉ I hate it but I love it too
So there's not a bunch of lists?
Depends on how it's implemented
Oh
Its all purly sequential in directly in order. - VERY Fast as finding things because it mvoes incrementally
ECS: positions[0] is right next to positions[1]. CPU loads big chunks, processes fast.
OOP: enemy[0] is far from enemy[1] in RAM. CPU keeps fetching from slow RAM.
Speed is memory mapping and caching
Let's say for example you have a component "OnFireComponent", you can add this component to any entity you want and the queries will know whether to take it or not.
I was thinking a list for every component, which just has a bunch of references in it
this was my thinking too
In very simplistic terms, ECS wants to have a big list of everything, going like: Entity, Entity, ... next to each other (remember, entities are effectively just integers to identify) and then Component, Component, ... next to each other and then System, System, ... executed and stores next to each other
I loved reading that
Ofc for performance reasons you'd probably not implement this using an array in memory but rather a more sophisticated data structure which still respects cache locality
POINTERS!!! ๐
oh no
You wouldn't wanna copy that to modify it would ya. ๐
I am so thankful for C++ move semantics but it's such a hustle to always write std::move or a move constructor :(
I used to be really cool in the Gmod modding community. So I did a lot of Lua but as far as any softwaretype development 0
That is okay! - Absorb this conversation! ๐ It is a really good one!
Very dumbed down c# code:
public class HealthComponent { /* stuff here */ }
public class OnFireComponent { /* stuff here */ }
public class TakeFireDamageSystem {
public void Update(/*stuff here*/) {
var entities = ECS.query<HealthComponent, OnFireComponent>();
foreach(var entity in entities) {
// Apply fire damage logic here
}
}
}
// ...
var entity = ECS.AddEntity();
entity.AddComponent<HealthComponent>();
// At this point, the TakeFireDamageSystem will not see this entity because it doesn't have the OnFireComponent.
entity.AddComponent<OnFireComponent>():
// Now, TakeFireDamageSystem will see the entity and apply the logic accordingly.
Hope that helped
yeee
Damn if only Claude could understand the word "simple"
Yup
But this is a great model in C# - Looks exactly the same in every other language too! ๐
We'd start losing our jobs if they were too good
*scratching head noises*
Take code from claude and put it in gemini and ask it to explain it simply
Thats why I use Claude, makes me feel powerful
It will explain why Rome fell for a C# snippet.
There's always someone who has to maintain AI!
This is actually a really well written example. :/ I am going to sit here all annoyed...
You'll learn when doing Hytale, it just requires thinking a bit around the corner. You will get into it!
+-------------+----------+----------+----------+
| - | Entity 1 | Entity 2 | Entity 3 |
+-------------+----------+----------+----------+
| Component 1 | x | x | |
| Component 2 | x | | x |
| Component 3 | | x | x |
+-------------+----------+----------+----------+
I feel like there is an easier way to do it but I just can't find it
Thank you
I've seen that image a lot and it makes no sense in my head
why not
What is your programming experience? Not trying to be mean, I just want to know on what base I should explain
Out of curiosity does anyone actually know how the coding in hytale will work? will they have a wiki on launch for all of there prebuild vars, functions, and modules?
Does entity have component? Yes? No?
No, we are all just talking about conspericies at this point
Involves a lot of inheritance I guess...
OOP!!! I call it POO - I really hate OOP. ๐ Fixes many issues has other issues made for big teams
Ok so OOP. Do you understand composition vs inheritance?
API Documentation will be rather sparse at launch. We already have a handful of screens of actual code and people are putting effort into community documentation (which currently is mostly guesses and speculation + scraping off what little information we got)
This makes sense in my devops brain
Its kinda like a logical version of somthing like this correct
I'm self taught... these words like ECS, OOP and other words are completely foreign to me. When I find something is not working as ideally, I try different approach. When I find something is too slow, I try something else. I don't really look online for help, I just do stuff, I don't take classes or whatever, I just go head in first and figure what I can do with it.
To anyone that doesn't understand ECS, don't worry, it's not a simple system at first glance ๐
Nvm I cant post pictures
I was going to say, even experienced professionals take a while to understand it, it really is a HUGE change in thought
Entity
An entity represents a general-purpose object. In a game engine context, for example, every coarse game object is represented as an entity. Usually, it only consists of a unique id. Implementations typically use a plain integer for this.Component
A component characterizes an entity as possessing a particular aspect, and holds the data needed to model that aspect. For example, every game object that can take damage might have a Health component associated with its entity. Implementations typically use structs, classes, or associative arrays.System
A system is a process that acts on all entities with the desired components. For example, a physics system may query for entities having mass, velocity and position components, and iterate over the results doing physics calculations on the set of components for each entity.The behavior of an entity can be changed at runtime by systems that add, remove or modify components. This eliminates the ambiguity problems of deep and wide inheritance hierarchies often found in object-oriented programming techniques that are difficult to understand, maintain, and extend. Common ECS approaches are highly compatible with, and are often combined with, data-oriented design techniques. Data for all instances of a component are contiguously stored together in physical memory, enabling efficient memory access for systems that operate over many entities.
Here, feast on my wikipedia excerpt
Ohhhhhhhhhhhhh I get it
I've done way too much Minecraft plugin coding so anytime someone says Entity, I immediately picture something like a Minecraft Zombie.
You don't iterate over the lists of components because you mix components in systems
The screens we got are not very promising.. they used I prefix for interfaces (antipattern) like they have DefaultChunkStorageProvider, but the default interface is still called IChunkStorageProvider..
Yeah, "Entity" in this context is basically just an ID (a number) that is used to be referenced.
I modeled my plugin architecture off of ECS. ๐
I have a plugin system that works primitively - I want to make a card game. I created many plugins (Card Game Framework this is an orchestrator of other plugins):
- Entity System
- Container System
- Effect System
- Pooling System
etc, there are more
But how they work is the Card Game framework brings these together and defines "Card Game" - I could use these to make GTA if there are enough of them. ๐ - But I assemble what I want.
So if I want to build a card game framework I just call these systems who do that management for me. They already exist.
Not the exact same, but definitely modeled from. Also I removed a whole lot, don't expect to understand it, just know my games are built with plugins and composable. ๐
it reminds me of my mile long custom_check in my Gmod days. You have lists of what something is and what something can be and then define it as such. or am I wrong
First time I hear that
We have promises!!! ๐
Interesting to see, you've done a lot of Java dev I assume but are not familiar with what OOP is? ๐
Nice to see that approach works though, do you just not feel like learning more about certain topics or is it just not neccesary for you to achieve your goals?
I was in the same boat, writing code and knowing concepts contrary to belief doesn't translate. ๐ - It is nice to know concepts and helps write code but not needed
I don't know any acronyms at all so, that could be tied to their problem
OOP is object-oriented programming, which they might be familiar with
When you have clean code, ideal state is that you have no I prefixes.. only implementations should be described, imagine you have IStorage and Storage.. can you guess how Storage works? Probably not.. and now imagine you have Storage (interface) and FileStorage (impl)
The short-hand is only used when communicating with other people, you don't actually need to know how other people talk about the topics in order to practice them
Seems to be a thing in other languages. My experience is in C# where the prefix I is the convention
It's C# and Java convention, but it does not mean it's not antipattern
Yeah I wish it was all the same, but some dude perfered snake case over camel, another pascal over snake.. Like NO!
Btw did you guys see the newer numbers that Simon revealed on benchmarks? They managed to uphold a server with 70 players for 45 mins on 12 GB RAM and a Ryzen 7950x
It does however explain why I never heard about it before though ๐
๐ I was hoping better... My estimates are still holding though!
I just follow the language convention or wherever I'm working at lol. It's not a problem ๐
Did he post them on Twitter?
That is quite steep in resources
That's.... not really a good sign now is it? Depends on how heavy the thing they were running was
Vanilla SMP ig (which is heavy in comparison to simple minigames)
I've started with Minecraft Plugins in Java and for many years just simply did that. And I only really moved to C# when I felt like Java was no longer enough for me where I did lots of other stuff. But it took a long time for me to understand even the basic concepts of how I should for example be structuring my C# REST APIs and one day that concept, it just clicked. So I feel pretty confident in C#, not so much in Java, especially after not touching for more than a year, maybe even two at this point.
I think we will defintiely see 200 player minigames such as Mega Walls or Super Sky Wars. While vanilla SMP is going to require some beefy hardware to push 100 players in a single SMP.
No clue how heavy a Minecraft SMP would be when it has 70 players and also heavily depends on if those 70 players are all in a different spot or at the same place, but at least very cool that we got some official numbers
Where did this come from?
X, oh it was from Slikey, my bad
slikey/status/2000608313977810946
Can we get link to the tweet?
I wouldn't call it a blog post. It is more of a technical manual with some example data. Just wrapped up a playtest with 70 people on various hardware until we finally crashed the server.
There is a lot of context such as "minigame server" vs "exploration mode SMP". We believe that a 3 vCore + 8 GB server can sustain 6-8 players. A Ryzen 7950x with 12 GB RAM server, we were able to push 70 players but TPS degraded until the server crashed (~45 minutes).
I think we will defintiely see 200 player minigames such as Mega Walls or Super Sky Wars. While vanilla SMP is going to require some beefy hardware to push 100 players in a single SMP.
We are continuing our effort to improve stability and further add performance optimizations to get those big anarchy servers.
Do you perceive the difference between C# and Java to be large? To me they are very similar and objectively speaking that's also pretty much true. I suppose you will be returning to Java for Hytale?
https //x com/slikey/status/2000608313977810946
We believe that a 3 vCore + 8 GB server can sustain 6-8 players.
Yikes
They are similar but I'm too much attached to QoL features of C#. It's gonna be painful returning to Java
There basically the same language.. ๐ I work in C# not in Java, but besides some modern things and super unsafe stuff C# is modeled after Java
Yeah. Kotlin though!
That's like 10x times less than minecraft?
A server with 8 players? In Minecraft you need not even 1GB for that
I mean, more like 4 times less but yea
That isn't true.
Dog on him! ๐ - My favorite!
I've tried Kotlin and I gave it the best I could multiple times. But it just never worked out well. I don't like Kotlin unfortunately. I rather prefer writing in Java than in Kotlin
Hmmm, worked with an older Java version all the time or something? Not sure what you consider valuable QoL but I find Java to be chiller to write honestly even if it not my main language
Guys, everything is done server side. Of course the servers will have to be more beefy
Kotlin is heavily overrated and that's my ultra-controversial hot take of the day I will be dropping in here and then not mentioning ever again
Oh no your good, I am just hoping we get C# support cause I wanna stay in my isolated C# bubble.
It's not, it's just that good
I will one up you! C# is just better!
For a long time all I did were Minecraft 1.8 plugins sooo yeah, Java 8 baby!
Is it even that much beefier? When was the last time you ran a Minecraft vanilla server on 12GB of RAM with 70 people?
Considering, These are good! Its that CPU though. ๐
Well Java 25 has had some changes since then ๐
No idea, been over 10 years since I last touched minecraft servers
But apparently it's much worse than Minecraft so ยฏ_(ใ)_/ยฏ
Ryzen 7950 - We all got one of these! ๐ Right?
Hang on let me check with my server provider
Using vanilla and no pre-gen...etc. We usually use 1-2gb per user. The last vanilla run we did was 12 people on 16gb of ram and it crashed like 3 times lol
That's 32 very fast vCPUs in hosting terms lmao
16 core 5.7GHz
Nah, I got the 9950x
My trusted ChatGPT says Ryzen 7950x with 12 GB RAM can handle 50-80 online player in Minecraft Paper sooooo
Guys, remember like a week ago they crashed at 56 players
Is he trusted?
Now they crashed at 70.
They are getting better ๐
Paper is not vanilla, and Paper murders the ticking of basically everything
But I have 5mbps upload, so no chance I am hosting a seever on it (I do have a VPS)
Which is why I rest my case hehehe Hytale >>>>>
Also again, 70 players all in their own area is impressive, 70 players in a hypixel lobby would be a joke. More context is really required to draw any conclusions
I have AMD Ryzen 7 9700x... wait a minute, 9700x? Huh... it does say 9700x
Actually with the processing on the server this does just equal Minecraft... ๐ - SO its a little better
They said they were dropping ticks with their 70 player early-access test
So if we just constrain ticking like we do in Minecraft, would probably easily push it, assuming it's entity ticks and the like
It was Ryzen 9 7950X
I mean I could grab AMD Ryzen 9 9950x3D. It's not THAT expensive.
And remember it's Early Access. Minecraft Paper had like 10 ish years to develop from what Minecraft had
It will probably work just fine in like 2 weeks as they fix bugs
xcancel(dot)com/slikey/status/2000608313977810946#m
Oh yeah, I am just doggin on them cause its fun. ๐ - They are pushing out a better than Minecraft performance off the bat, its good news.
I'm kind of in the boat that 70 players is already fine for a fully ticked SMP with no compromises
Paper performance was also pretty disappointing sometimes ๐
Yes but 16 cores on one of the most powerful CPUs..
Who even will have servers with more than 15 players at a time
They didn't show a utilization graph or anything, it was possibly unsaturated
Hypixel?
And Hypixel has the resources to afford beefier servers ๐
Does Hypixel want SMPs?
That's my point. If you have more than 15 players online at once, you have the budget for beefier systems
Wonder what is the reason it uses so much though. Is it just the world, is it entity ticking? Because depending on the type of server, either/both of these could be heavily reduced
They just said 200 players per minigame server, and that's definitely plenty
Hypixel has like a yearly cost of 100.000 USD for networking alone ggs
Also depends on what rate it scales with players
They did say the simulation takes a lot of CPU
Well first of all, most of everything runs on the server instead of the client
That's pretty standard though
Can't wait to code mah GPU-accelerated custom-programming-language-written minimal Hytale server yeehaw
Yeah! Look at the RAM for instance: 8Gb for 8 players, 12Gb for 70
Just wait till we got mods going!!! ๐ That number is gonna tank quick!
Optimize yalls crap! ๐
LMFAO entity simulations handled by GPU
Yeah exactly, I have two questions
- What is everything
- How much of it can I disable ๐
You can disable a lot, apparently
Almost all of it
Yeah I have seen that mentioned, I'm very curious what "a lot" is exactly
https://xcancel com/utfunderscore/status/2000621738762121475#m
Is there going to be the capabilities to disable certain vanilla features entirely or have more control over them like e.g precise control over chunk loading, disabling lighting updates, creating void worlds, disabling mob AI
Yes to all of them. You dont just disable it but you can entirely unload the capabilities from the classloader and replace them with custom solutions.
Was about to send that lol
Given that lighting updates and mob AI are mentioned, expect like 95%
They want almost every system to be a mod/plugin. So you can turn off a lot ๐
Ooooh that is very cool. Taking up the challenge to write a custom solution that works faster /s
Mobs with AI incoming
Based on how he's worded that, I can't imagine there's anything that couldn't be removed LOL
You could kill the networking even, and replace it with something more minimal but within spec
They said yes to that already
Indeed I wanna make an ML-powered autonomous agent as a buddy since I don't have friends
ChatGPT is gonna be your friend!
From Slikey:
Server Hosting itself will only become available with the Early Access launch. There is some more documentation releasing before launch though to give some best practice for hosting a server yourself or as a server provider but it takes longer than expected due to performance improvements.
Documentation? ๐
How much cursing did they do?
All comments are ***
?
Tis a joke.
Oh ok
Should be easy to tack an LLM onto your server and give every entity some chain of thought ๐
Just keep it to 1.4-3B or something and you're golden
I should look into Kotlin
I've had that thought a few times so far, I'm waiting until release though
We gonna see adventure maps with NPCs connected to ChatGPT
Yeah but LLM often break immersion. I mean I am going to stick an LLM on it but only to talk. The autonomous agent would be a befitted model thats actually smart and doesn't have to generate tokens like "{Break block in front of you}"
LOL you'd have to ship API keys with your mod that way
Just fully embed the entire language model with another library
Could always put it on a server
It's going to be on the server regardless
On a server online
You mean an actual dedicated model of the behaviour, not using language as a proxy?
yessir, optimizes context window and stuff
Would be a royal pain in the ass, but would actually be efficient
Relatively speaking LMFAO
Yeah it wouldn't be a small project at all but a fun one
You could probably see some really advanced behaviours depending on how you train it
So... When are we recreating Skyrim in Hytale?
I think Enton's idea is cooler LMAO
Yeah I mean if you have to beef up the server anyway might as well put an entire industrial-grade neural network on it eh?
You'd be surprised how cheap you can run neural networks for things like what you're describing
Something like HarmonyAI is specifically made for LLM-powered npcs
Ideally, you wouldn't use a language model at all, and just a model
But tacking a language-model on there is really really easy so LOL
Man I miss the times where language-models where novel and actually interesting technical feats, nowadays just download a model lmao
If Enton actually throws together some training scripts and a basic NPC implementation, you could do some fun stuff with it
I remember those times too, I did some experimentation way back in the day with code generation actually
Because the limited token-set made it easier to model
I just moved onto other things and eventually we saw things like Codex
Most of my other work was tied to machine vision and speech transcription
AI has gotten really opaque in their architecture too, I mean sure transformers but there's quite alot to machine learning and LLMs just take all that name for themselves while achieving lAnGuAgE oooo
bich I learned talking before I was 1 year old, LLMs really lacking skill
They kind of do a good job though, when it comes to making sentence-like structures
Much like little humans
At least in the quality of their structure, not the meaning
I mean I don't even manage sentence-like structures even at the age of 21, I give them that, but still!!!
i very good english speaker beter then chad gippity
indeed
you forgot a dot at the end.
I do like it when the LLMs use characters people would never use - for example - putting a dash - everywhere to make long - sentence
They got it from somewhere, some people do that
It's just more common in particular styles, and for some god-forsaken reason the big companies think we want everything in that style
I do that :(
Ah so they trained the model on you then
Dear Godโ maybe Enton is one of them too?
Sorry, *I - do - that
something that is less likely that AI or any machine will be good at, is power efficiency like humans, i mean i can eat a freaking bread and function all day
Enton > Psyduck
I should probably do em dashes
Is that your way of saying German > English? lmao
The first versions of ChatGPT were kinda funny because when I asked it for some Java code, it would also put down the package as com.ing. No, I don't work for ING, it just randomly decided that this class now should be put in a package of a bank.
For a bunch of pokemon names at least.
Also love me some Donaudampfschifffahrt
I'm assuming you can't talk about the scaling Nitrado have achieved with Hytale yet? LOL
Slikey posted some stuff on Twitter yesterday about the internal stress tests
We all need some dampfschiffahrt on the donau sometimes
Rindfleischettiketierungsรผberwachungsaufgabenรผbertragungsgesetz is still my favourite. Just because of Rindfleisch
16 cores for 70 players 
I wouldn't call it a blog post. It is more of a technical manual with some example data. Just wrapped up a playtest with 70 people on various hardware until we finally crashed the server.
There is a lot of context such as "minigame server" vs "exploration mode SMP". We believe that a 3 vCore + 8 GB server can sustain 6-8 players. A Ryzen 7950x with 12 GB RAM server, we were able to push 70 players but TPS degraded until the server crashed (~45 minutes).
I think we will defintiely see 200 player minigames such as Mega Walls or Super Sky Wars. While vanilla SMP is going to require some beefy hardware to push 100 players in a single SMP.
We are continuing our effort to improve stability and further add performance optimizations to get those big anarchy servers.
Just to repost it again
And to point at a specific sentence I love:
We are continuing our effort to improve stability and further add performance optimizations to get those big anarchy servers.
Btw @vernal niche you would be the first person to abuse your access to the server files for benchmarking, no? Do you have some secret numbers u can drop? We are wondering if the 70 player count should be worrying
I am sure performance will improve quite a bit, but running the Hytale server containerized with a requirement of 3 vCore and 12GB of RAM is quite a bit
Oh wow I missed the keyword there, "anarchy"
Abusing freedoms is how you lose them ๐
i need hytales version of spark
Any of his benchmarks would probably end up being outdated anyway as the team keeps optimizing the game
Sssssh he doesnt have to know
I would hope they're focusing on features for now, getting ready for early access
They have different people working on different things. Optimizing the game in this case also means fixing bugs. It's also important to note that they push servers/community quite a lot so it's important.
I am optimistic by him typing so long
I can't really add much to Slikey's comments other than that, as with any of those tests, stuff was learned that will very likely shift the picture for the next time. We have also done some tests somewhat independent from the Hypixel team to find out how we can prevent a server from running out of resources when a bunch of players all fly in different directions.
Teleport them back to the spawn right?
You could consider teleporting everyone back to spawn and send them a message "no you stay here"
pregenning
lmao
/kickban
hell yeah
Ahh dang too slow
Make a mod that tethers all players together with a rope, solves the issue also
Use a database.
INSERT INTO positions (player_id, x, y, z) VALUES (1, 1.0, 1.0, 1.0)
if its within a world border maybe u can pregen everything
That's my plan, but I don't think that's what their bottleneck was in the play-test
I'd assume memory more than cpu times
I don't think so actually, not for this game
are chunks really that much memory, on mc u could get away with like 100mb per player
Bigger size, more blockstates, etc.
How Will work server Creation?
java -jar HytaleServer.jar
We will get a guide shortly before launch
Simple hahahaha
Anyone know any good jre docker images?
I mean the basic is Eclipse Temurin, though I have seen Bellsoft also being used a bit
They offer jre images that are quite tiny, containing only the minimals for Java. Some of them are based on Alpine or Alpaquita
Eclipse Temurin doesn't seem to have jre 25
Surely it does by now? Let me check
Not on docker hub at least
Huh, you are right. Java 25 was released not that long ago I guess
this works fine for me
docker pull eclipse-temurin:25-jre-alpine
Yes, actually, seems like it does exist
huh, if I put that into the search, suddenly it exists
I can't share a link, but search for "25-jre-alpine" on the Dockerhub of eclipse-temurin
It is MUSL-based, so do be aware of that in case Hytale require glibc (which is not likely)
Vulnerabilities: 3 high, 3 medium, 2 low... lovely to see :)
You could also consider liberica-runtime-container:jre-25-glibc or hardened-liberica-runtime-container jre-25-glibc
Haven't used the latter myself, but it is supposed to have 0 CVEs
But temurin is already miles better than openjdk image, which is full of CVEs
my eye is tweaking out
how is microsoft's distroless build with vulnerabilities?
mcr.microsoft(.)com/openjdk/jdk:25-distroless
It says that the image is officially deprecated
openjdk
comparing to a well known docker image for Minecraft itzg/docker-minecraft-server they use eclipse-temurin:21-jre
Yeah, eclipse-temurin is pretty much the defacto Java image these days
21-jre is not the alpine version, but should work either way. Depends on your requirements. The alpine image comes with barely any utilities, don't think it even has curl, so if you want to debug stuff it might be hard. But if you don't care about debugging the internals of a running container, then alpine is fine (so long as you dont need glibc)
I'm still waiting for the day Mojang will add /unkick
LMFAO true we should be able to force players back to us
Imagine an exploit in the transfer packets makes that possible
Some Hytale4Shell stuff
Folks do you think I'll get in trouble if I change our Hytale JIRA board so that all tickets in there say they have "Hy Priority"?
You'll get a promotion because of how active you are in creating a good working environment in the company
Humour increases morale
High morale increases productivity, you're helping with meeting release deadlines
Keep high priority but change it to Hightale
Hy morale you mean?
you are a host why not you self host your own jira
it's you!
just kidding lol there isn't anything too stable ironically
yes I am the cube from the dimensions
Thinking of good names for the other priority levels.
I don't need even to change Blocker, how nice 
Jira is going cloud only. ๐
We did. Then Atlassian said we can't anymore.
Atlassian has a real reverse midas touch
man rip trello it was soo good before atlassian got their hands on it
Azure DevOps goated change my mind
fun fact, Atlassian is making losses, and has not been profitable in two decades
Atlassian is sunsetting OpsGenie. This means I cannot get traumatized anymore in the middle of the night.
one of the reasons we dont use atlassian at work is this.
like an open source jira alternative
another one is that its made by a foreign entity but thats minute things
one that has an n8n integration so you can hook it up to anything you want
it's called JIRA Service Management now. The integration is actually an improvement based on what I'm hearing from my colleagues.
We have B2B customers who need to open on-call alerts and that was always a pain with OpsGenie.
Try 37signals products, they have a bunch of stuff for corpo management/communication that is well made and self hostable I think
Can't wait to try to optimize Hytale
Can't wait to Hytale
Cant hytale
Hey I was wondering
How is asset loading to the client supposed to work?
Will it be like Garry's mod where before entering a server you have to wait ten thousand years for all of the modded assets to load in?
Oh found it.
Yeah, like Garry's mod. This is going to be painful.
Could you explain to those with less experience what challenge we're facing?
Nah Java minecraft wait was under 2 minutes with 300 mods installed on a steam deck, any you know the Java team didn't care about the time, so I'm sure as long as you have those downloaded it'll be faster than even current minecraft.
Plus I'm used to SE1 loading with hundreds of mods, so anything under 40mins will be better.
The client has to fetch the files for models, shaders and sound before loading into the game by design as shown on that video
So everytime you enter a server in hytale, it's like downloading a modpack from scratch
unkick is crazy
I care less about load time and more about server scalability
Well, hytale is 2 to 4 times as pixel dense
But it's still pixel art and JSON sooooo
It's probably not that bad โข
Unless you managed to put together a kitchen sink modpack with 300 mods, then you're going to suffer a lot.
I'd be very careful with sound files
Those bloat up like crazy
Yeah it won't be that long, think of it this way, it's better coded than minecraft unless riot botched the code.
I have 450 MB of server-resourcepacks on my minecraft server ^^
and yeah over half of it is sounds/music
Which riot probably did ngl.
Hopefully the average hytale player has gigabit internet
Slikey confirmed yesterday that they do intend for the client to cache assets for "recent usage", so once that is implemented it will indeed not be that bad
It already has a massive sound design, so alot of modders may use inate sound files to use is some things, they could use code to warp the sounds aswell.
If the server got a really good CDN running at 300mbs or so
It won't even be noticeable
I'm afraid of downloading a gig of assets at 1mbps
Real ๐
Hopefully it's good enough
That's my worry too, that might actually shoot me
Hopefully it has a dedicated cash ammount, if so we can manually expand it or retract it to save or consume more hard drive space.
I'd hope you could just tell it download in the background
It could also dedicate that cash to servers, kinda like minecraft.
Me too, they could do a pre-download system.
So you can go play minigames on hypixel or whatever while you wait for it to finish downloading
Lmao.
I'm absolutely gonna blow up a steam deck by getting it to natively run hytale
They said it won't support Linux on release
Hopefully they don't also intentionally break proton
That would make me quite sad as I bought the thing already lmfaoooo
It's not like they're intentionally not supporting linux
they just have windows as their compilation target, that's all
They said they would do flatpak
Aye lessgo, and no they just want to start on windows ^^
Which I found really weird! Like proton is just less work
They may do a native layer system like proton
They could've been lazy and just wrapped up wine and the windows binary on a electron launcher
I've heard that's a possibility for them, something like proton but one that interprets to multiple devices.
Slikey said they are 95% sure that a possible native linux release is possible on launch
a flatpack
Oh, I misunderstood it then
That may be true but they also said the initial release won't include Linux or mac
I think that's said on the main site
things change. we never know. we have to wait 29 days and see
i believe that we will get a flatpack (thats kind of copium lol) but hearing a developer saying him self that there is a chance is quite nice
I really hope they consider a translation layer, because if they do they can get it to natively run on anything given enough time.
Damn, that's a shot in the foot.
Linux users just too demanding fr
i dont need more than a flatpack
Not really.
just something to run on my laptop
People are just happy to have the game work at all.
People who receive all those demands will definitely tell you, they are
Then ignore them
Too much work just to sell 1000 units. Windows and Mac is a bigger market
Circle's I've been in are happy to receive testing on proton
bigger than mac? i dont think so
Linux native build is already too much work and a stupid idea for a mass market product like this
more of a gut feeling but i feel like more people play on linux than on mac
It's like double on steam lmfao
Bro I don't know anyone in the world that plays with linux outside programmers
you dont know a lot about linux then
Million of Linux users use minecraft day-to-day, even if 10% of them come over its still easier to code from Linux to windows than it is to go to mac.
I don't yeah
Every steamdeck player, yeah.
Note that all this talk is only for the launch window of early access. Additional linux compatibility is not out of the cards when they have some more development headroom over the next few years on the way to 1.0
Does steam deck even meet Hytale requirements, I dunno
I'm kinda in a weird spot because most of the stuff I care about is really niche
you can't even run hytale on steamdeck...
Not only do we have the steam deck but now steam os that has been adopted into a bunch of new handheld and not a dedicated computer and vr set.
I had 14 gbs of ram on mine, I could run alot even space engineers which is more demanding.
Wild take
I mean software support guys
It dose
i just checked. it should pass the minimum requirements
Brother, touch a steam deck
Proton can run native windows games and that's integrated into steam os
And it's without the bloat of windows
Steamdeck allows you to download from the web launchers? I didn't know that
I could run minecraft, and that's not on steam.
it has software support. they have mentioned that the library that prevented mac and linux builds is no longer in the game
It's a computer. You can wipe it and install windows XP on it if you want
They sell a dock explicitly so you can use it like a laptop lol
You can dual boot windows and steam os if you wanted.
The steam deck will be the first Linux machine to run hytale, even without native luanch.
do we have any preliminary info on setting up a development environment? looking to get a head start in converting my old MC libraries (especially since Mojang slapped an old version of Jackson into the game and now my shit's broken lmao)
I garuntee the reason why the devs of hytale mention proton is because steam or steam users will make it happend for them.
I'd assume it's just intelij and java 25
probs just anything that supports java 25
We kinda need the interface to build against first tho
I do not recommend that dock tho. I've debugged my Linux setup on and off for several months until I found out the dock has a bug that makes it randomly break with Samsung monitors.
Now got a different usb dock and problems vanished
Wtf
yeah that's what I was wondering, was praying I wouldn't have to use gradle
My reaction exactly
I mean, it's just a java project
As long as you can build you should be able to hand compile that stuff with javac
That's an issue you could probably get a refund for idk how long you've had it tho.
well, dependencies
Does it really matter?
yes, maven is what I was hoping for
you can use whatever as long as you get a jar you want
I'm going to be using my trusty Kotlin everywhere :>
though gradle fanatics will tell you otherwise
I should probably clarify - I was wondering if there's gonna be some kind of "project setup" tool that auto generates a Gradle project and makes me want to tear my eyes out (LWJGL does this)
Hopefully they meant they won't look into proton or all of that for the preliminary launch, and maybe eventually they will do a translation layer, only we can hope tho.
As long as that's not the case I'm good lmao
i think they said the server api will be using maven? im not sure so dont take my word for it
You do realize you can just assemble one yourself and post it to GitHub as a template right?
assemble what myself
A template
it doesnt matter what server gonna use tbf, its just that they build the server using maven
you do realize I'm asking if I can avoid gradle
Oh I see
i despise it with my whole heart ๐
relatable
I feel exactly the same way about maven ^^
maven with the one single pom.xml versus gradle with its own syntax and like 18 different tiny fragments of files
same
Same
this
professionally i am a C++ developer so take that with a grain of salt
And cmake, and meson too
also this
cmake is vile
qmake my beloved
make is better
unironically a regular makefile is easier to deal with than cmake, i feel like
clion hates my makefiles
Who would've guessed that a build system to build a build system is a horrible idea
You can by the way. Nitrado repos will use maven
Sounds like a brand of nitrate adjacent cleaning product
That is okay.
You can use maven, that's the important part
a game hosting provider currently partnered with hytale, aka basically the only other company which has server jar and is making mods already
i have to ask because im carious. is the xbox app still maintained?
ah, okay
The Nitrado Xbox app? Yes absolutely. Do you have any issues?
Interesting.
that's very helpful actually, thanks
oh no no, i just have a fond memory of downloading it and it just existing on my xbox for years ao i was wondering if its still being maintained
Fun fact, I built that
thats dope
does nitrado support modded astroneer yet
I wonder how expensive that will be?
I actually don't know. Lemme ask internally. Give me a ping if I don't get back to you
i dont know if anyone requested it, i remember it didnt when they started offering it
Is it like a app to manage a server from your Xbox?
I also wonder if hytale will do native private servers, like realms.
i dont think its planned yet
Actually, can you even use custom servers on Xbox? I remember having to use this weird proxy to play Minecraft bedrock with my brother in a dedicated server
xbox doesnt want you to play online games without subscription
depends. stuff like fortnite works without live gold
No like, he had the thing, but there just wasn't a box you could input a IP in
Yes. Microsoft wanted that if you buy a server for your xbox game, you should be able to "stay within the ecosystem".
Which also means you have to go through their store, soooo
huh
YEEEEAH
I think multiple it a year out, or it probably is, hopefully we get some form of server realese type deal with it.
I see, so Microsoft has a custom thing for it
That's pretty dope
ARK was the first game with private servers on Xbox, but there was a whole dance we had to do to offer that, couldn't give out save files, ... It was a lot
That's really cool, hopefully Sony let's you in sometime soon
Xbox will come to steam before Sony makes even a step before they allow anything like that.
They did already tho
You can buy halo on steam rn
I meant natively
We have a number of PlayStation/crossplay games in our portfolio. ARK, DayZ, farming sim, ..
So far sony didn't complain
I also meant in the inverse of what I said, steam to Xbox, sorry I'm dead in the head rn.
Huh, maybe they can change or that's why they are upping the charge of the online passes.
So Minecraft is blocked for some reason?
I can't give you the reasoning for Minecraft. Maybe it's a business politics thing because Mojang belongs to Microsoft, no idea
I doubt it, why else would they partner with Nitrado?
True, that's a damn good point.
That is a damn honest response. ๐
Because they don't have the time and infrastructure right now to do it themselves. Nobody knows what the future holds. But I can imagine a future where Nitrado/Apex would provide the infrastructure for a 1st-party hosting solution
Yeah, its not "realms" ๐ Realsm competes against Nitrado as an example (not well but it does)
They also are kind of a 1st party solution even now given their partnership being a thing. Want a Hytale server? "Nitrado" we have given early access to to provde day one experience.
1st party in my mind means integration into the launcher and payment services
Does it require those to be first party?
You maybe right I didnt know this ๐
Even if it dose mean first party integration it's still a second party you must go through to PURCHASE a server.
If they do go this route which I hope they don't, I'll look for a free way to get a server local or not for me and my friends.
You will always be able to host a server yourself for free
There might be something in the Multiplayer server section like: "If you would like to have your own server, may we suggest Nitrado as a provider for your server."
I don't think a direct ad like this would make a good impression on the community, especially during the buggy stages of early access xD
Ahh first party would mean Hypixel themselves host it.
Second party is like Nitrado and Hypixel Studios
3rd party is anyone else.
what do I know ยฏ_(ใ)_/ยฏ
I think it would be fine! Instant understand of who to go to, direct communication. I never found an issue, at least its not Ark...
God I hope so, or atleast like danidipp said let us host one.
Thats a given we will no matter what. ๐
Good
Hytale Realms :l
why would they get into the server hosting business?
Now you are competing with microsoft, amazon and half a dozen botique players
Because it's a stable and recurring revenue source
I'd just partner with hosting providers and make an API where hosting providers "bid" for contracts
So you can operate the thing entirely hands off on both sides
then they couldn't really guarantee quality
I mean, is amazon ever going to go down?
uh yeah, last month? xD
Linux users are among the most helpful for early access products, like this one
You get more bug reports, and higher quality bug reports, and it's not by a small margin
Despite being only 1% of the typical market share, and 3% of sales in some circumstances, they end up providing more than a third of bug reports
And those bug reports are often bugs that affect all platforms
fair point
I do wonder how much work it is to keep hypixel up
do they run their own servers?
Mojang can provide minecraft realms because they are backed by bloody microsoft azure
They "waste" a lot on proxies, and that's something they do not like about Minecraft hosting apparently
Said it costs them a lot of money
define proxies? I am not familiar with minecraft server admin
yeah they're colocating their hardware in established datacenters
So they rent a few VPS?
No, they own/rent dedicated servers and rent rack space in datacenters
You can't just run the game servers
If you want to move players between multiple servers, you need to route them via a "fake server"
It's a proxy that pretends to be a Minecraft server, and forwards a bunch of information between the other servers and your client
They have many many of those, which are connected together with load balancers and other things
This kind of proxy is not cheap to run
I see. Seems a bit horrifying that that is such a big cost...
It is somewhat crazy that we have to rely on PaperMC to pull the entire server ecosystem, with Velocity and Paper itself
Or Bungee / Spigot, if you're still on the older stack
I mean it seems a bit crazy we have to rely on Linux to keep the internet up? It's just a open source project like anyother
There are basically no big servers that solely rely on Mojang's actual server software at this point
They're all modified with proxies and other projects aim to optimize the game
I wonder if there is even any server out there that is public that uses the Mojang server jar
Here is some insight into their setup and how it would compare to cloud hosting
news.ycombinator. com/item?id=23089999
OOOOOH
LMFAO I assume there's at least one big one somewhere
Oh man those bandwidth costs on that post
I wonder if Hytale is going to do world caching for mini-games
A hash of the initial state or something like that, no need to fetch it again once you have already
700 dedicated machines is crazy
This does makes me wonder even more about the asset loading now
I can only imagine how much of the bandwidth would've been unnecessary
We know the assets will be cached, but the world changes constantly
Since Hypixel will eventually launch a first-party server, they do have all the incentive to optimize the game a lot to keep their server costs down
I mean if you could send a progressive diff to the client
If my math is right that's 100 players per machine
Yeah, but if you're sending the whole thing every time you load into a world
It'll add up, that's why it'd be interesting to see if they cache it for minigames
Situations where the world starts from the same state on load every time
Kinda like git... the client could send a hash of the current state of it's chunks then the server could use that to compute just what it needs to change via a history thing
bonus points iis that you also get to rollback changes to the world, say, TNT.
Hm, but you also cannot rely too much on the client's machine to just cache everything, consumes disk space and RAM to keep world information that is not relevant at the moment cached
The client's machine is not on your monthly bill KEKW
You don't have to cache to RAM, only disk
And cache utilization for a mostly online game would actually be a good thing
You just have to make sure the user can manage the cached assets
Sort them by what they are and where they came from
I think he means wear on the disk?
Maybe even offer ways for the server to invalidate certain caches
Not everyone has speedy SSDs
If you offer caching settings, it'd be up to the user
You shouldn't get rid of all the benefits because some people might be using technology from 12 years ago
That would be best. My hardware can certainly cache a bit, but plenty of players are on mid-range laptops with HDDs
How big do you think the read/write would be for a minigame world? I'd be very surprised if it were so large that it would even be noticeable compared to the network latency
Though the Hytale system requirements (if you're only running the client) aren't all that demanding
Something like bedwars would be like, 16 chunks
And we know it's like 30kb a chunk
And bedwars specifically would be in a void world I think
So that 30kb number is inflated by a large margin even
It's not like Starfield where the game literally wouldn't function if you didn't have an SSD hah
Some people think the minimum spec of 8gb ram is too high but I don't think it is, that's pretty equivalent to minecraft (MC says 4gb but it will struggle)
I guess 8GB is a bit
It's 8GB for the system lol
oly@fedora:~$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
โโsda1 btrfs HIGHWAY 17 50342b55-c625-4f9d-b8a2-2baef74b8370 753.1G 19% /run/media/oly/HIGHWAY_17
zram0 swap 1 zram0 e7c46f9a-03f0-4540-b103-c9b395dd05b5 [SWAP]
nvme0n1
โโnvme0n1p1 vfat FAT32 578C-4E1D 579.5M 3% /boot/efi
โโnvme0n1p2 ext4 1.0 654975bc-cf19-4158-aa47-67b2692696e2 1.2G 30% /boot
โโnvme0n1p3 btrfs fedora 98f0a785-31d4-4a3a-81e3-f7fe921cfa53 342.6G 17% /home
โ /
โโnvme0n1p4 swap 1 eef63be5-d764-40cc-83fb-8e1b751ccb64 [SWAP]
The game might "only" use 4-6GBs
Are you even able to find machines that are sold with less than 8GB of RAM, but meet the other specs?
I am...
Why are you showing this
Yeah, that's kind of what I'm thinking
oh i just wanted to comment that i have a hibrid system
What is hybrid about that?
75% of my storage is on spinning rust
I think there were older chromebooks that had 4gb of ram but no, most modern laptops have more
Disk (/mnt/data): 231.30 GiB / 18.42 TiB (1%) - ext4
A Chromebook with only 4GB of RAM? How does it even run Chrome then? ๐คฃ
LOL it was older Chrome
They didn't lol they were crap machines
"Your Chromebook currently has 4 tabs open, please close one to open another one"
I wonder I should probably go check on the current laptop line up
I have a feeling we are back to 8-4 gbs of ram.
You'd have to be quick before the RAM prices catch up with the backstock of laptops
bought mine in april, am laughin
I bought 48GB of DDR5 6GHz for 100$
I used to have a laptop with 6gb but that was like a 2014-15 hp laptop
I bought my current desktop in August, dodged a bullet there
Last year i snagged 128gb of ram for like $200 at microcenter
Way overkill but now i pretty much have a goldmine lol, i could make double that selling half the sticks
Its crazy
At least you got something like a microcenter. Europe be lacking hardware stores like that, prices on components here are by default already like 20% higher
Microcenter is basically the only one left and they're super spread out. Other stores like radioshack vanished off the face of the earth
Often they take the price of a component like it is in dollars and change the symbol to euros. Which is cool and all, if the euro and the dollar would be worth the same, but generally speaking 1.20 dollar is 1 euro.
Just saw some at best buy for $1500
๐ฌ
Americans pay a noticeable sales tax, which is not included in the listing prices
Define noticable. Here the VAT is 21%
But I guess that is already included in the advertised price
I'd say 21% is noticeable lol
So if your tax is 20%, and the price is "exactly the same" as the American listing but in euros
That means they did the conversion perfectly lol
I guess so hah, I never really considered that sales tax isnt yet in the price in the US
How? I cannot download it
The game isn't released yet :p
New tweets by Slikey!
New Hytale Footage... Kind of.. Well. Nerd Video!!! I was asked to show how our Github looks like using "Gource" visualization.
Here it is.. I wonder if you can see the part where collapsed the 300 branches into a single new main branch. Enjoy ๐
GSPs have told us that it seems similar to the other block game.. Also highly depends on how much world generation and how many NPCs are active. You can tweak limits for better performance but its always a trade-off.
Link: xcancel(dot)com/slikey/status/2000706973075955761
Space battle!
Can someone explain this to me?
It seems like there's a ton of divergence across several branches
How does that merge into a single thing? Or are these files and not branches
They are files, not branches
If you have no conflicts, it's same as having 1 branch anyway.. but often if you have a lot of branches, they cause conflict when they are going to get merged.. imagine you merge branch A and now it modified some lines that also branch B want to modify (not merged yet), so you have to rebase B to main and merge it then..
Yes, it looks like it's files on that git animation
And that green explosion is the merge probably, all of a sudden you get a lot of more files
Yeah specifically it only shows the directories/folders, if it was all files it would probably crash.
scawy
I kinda want to run the linux kernal through that thing, It's a bit cold rn. A burning PC would help.
I messed up not buying 9 packs of ram with a 50 percent off employee discount 1 year ago
Could probably buy a house now with that
i mean end of 2025-standards 4GB of RAM is the new 12GB of RAM
12 whole GB of ram? I didn't realize this discord was full of millionaires
Im assuming we can't start development till Jan 13th
pretty much
FAHHHHHH
I mean you could work on some stuff before, anything not requiring the API. Depends on your project though
What are you trying to make?
Yeahh what I want to do requires the API
I can get assets and stuff made but thats about it :p
But what is it ๐ฉ
๐คซ
Zero day vulnerability exploiter confirmed
Canโt wait for: โClick here for free hybucksโ
We're off to a good start ๐คฃ
How do I get the โHYTLโ badge next to my name
It is in your profile settings. Somewhere says "server tag"
INSTALL NOW FOR 150% HYBUCK MULTIPLIER AND ORES
50% MORE ORES FOR FREE, INSTANT EASY COSMETICS
VISIT CURSEFORGE DOT COM AND SEARCH 'EZ HYBUCKS' FOR MORE INFO ๐
learn to vibecode, gather some remote desktops (like rent a vps/vds), load up claude code/roocode/cursor on those VMs so you can run them autonomously with little risk
if you wanna run AI generated java code on autopilot perhaps do it in a VM
you have plenty of time to prepare: servers should likely be ran in a docker container
learn java, learn vscode/intellij, learn maven, learn to make superjars/fatjars and learn how to use third party libraries, get your battle station setup, get an openrouter (so you have access to over 500 models, it's prepaid so you don't accidently burn hundreds of dollars on openai/claude tokens)
you have plenty of prep time to get yourself ahead
What in the world are super/fat jars? ๐
This is actually legit quite good advice! - One of the few who actually state something good about AI here. ๐
they are abominations: but, when you want to connect to redis servers, mysql servers, mongodb servers, it lets you use the third party libraries and drag the jar as is in the plugins folder of the minecraft server. not entirely a good idea but good for someone starting out. You could run into legal issues distributing fat jars but, it's a hotfix for in-house solutions, the people working on DonutSMP's built-in server shardingtech could be doing this and no one would care legally. However, it makes the jars take up more storage
Hold on I think I am missing context - And maybe not comprehending what they are exactly to put the pieces together. ๐
Let's say you want to connect to a mysql server from an MC plugin, you copy and paste that MySQL dependency from Maven to use the mysql libraries to connect, and when you compile it into a fatjar, it takes the mysql jar and combines it with your jar so the person who drags and drops your jar into their plugin folder doesnt have to install any third party libraries
Oh I see it is an all in one and brings all dependencies
Now I can see where the legal issues may exist. ๐
well the best solution is to have the jar externally download the jar when it's run in the plugins folder, then for it to use it
Not many people really expected Riot, the people who messed up Hytale, to sell the game back to Simon. These dumb companies constantly sit on IPs to do nothing with it (quoting the CEO from smiling friends)
being given almost 2 months from the buyback announcement to set everything up is more than enough time
So yeah long story short: Get an openrouter account (prepaid account for using 500 different AI models, can be plugged into cursor and roocode, you wanna be able to use the dirt cheap Deepseek stuff), set up some VMs, find some dirt cheap servers like the OVH $4.20/month 8gb of ram server and the advinservers $6/month 8GB of RAM single core Ryzen 9950x. Use those VMs/remote desktops to run your vibecode workers in them automatically so you only gotta worry about the contained VM nuking itself if it does something as stupid as delete an entire home directory (which Claude and Gemini I think have reportedly done)
Find some good AI models for coding, Claude is considered one of the best. Train yourself in using Docker. Learn to use third party libraries in Java since you'll likely be using PostgreSQL/MongoDB/Redis for stuff if you wanna actually optimize. grab VSCode/Intellij/Cursor. IntelliJ and VSCode with Roocode is probably what you want
im already in the process myself of setting up some self hosted stuff, I might set up a zulip since it has the apps and an n8n integration, nocodb selfhost for airtable alternative, n8n integration, perhaps teach yourself to write a NodeJS or Python web app so you can make a REST web API that Hytale can interface with so you can create an n8n bridge. Learn to use a REST API.
One use-case would be, take all public messages in a Hytale game server chat in the past 10 minutes, plug it into deepseek AI, have it summarize and pick important messages, and log it in a Zulip or in a Discord bot so the staff have summaries of what's going on. A Hytale plugin could log the last 10 minutes of messages, send it to the n8n node, the workflow summarizes it, then reports it back.
If you never sell it, you can skip out on some fees basically
And in some ways it's considered an asset which makes them more appealing to investors
It also helps with controlling your brand technically lol
This is an absolutely massive barrier to entry, and should absolutely not be the advice given to people who have never programmed before ๐
They should just install VS Code or something, grab an extension for basic AI code completion and transformation, and then run with that
Trying to use fully autonomous agents when you don't understand the workflow yourself is a bad idea
Java mods are extremely easy to compile, and you really don't need to be jumping through hoops to use cloud compute to help you write and compile them
It'll be unfathomably slow to work in that manner, even more so than just using a built-in chat window in VS Code
But "learning" java is to much work. Takes a few years. ๐
You don't even need to learn Java to write in Java anymore ๐
The AI knows basic syntax as long as you know the basics of programming
Oh my gawd your an AI user tooo?!
Ah but the conc Dr pts are the things that take years. Knowing what and where is the whole thing of programming. Syntax and language is easy!!! ๐
Nah I write like a normal person, but when I don't know basic syntax I've used AI to convert pseudo-code
How did my phone do that? ๐ I don't even know what that was supposed to be. ๐
Ah but the conc Dr pts are the things
When writing Lua for ComputerCraft programs, I didn't know the basics so I just wrote stuff like for i in 1..3; print i; done and it worked fine
Taught me how to iterate over a range of numbers
I wouldn't trust it to do literally anything else though ๐
Asking it to write a whole plugin is literal lunacy
Asking it to create an empty class for you is more reasonable
Ooh. ๐ - I do that ๐ Actually I have written an entire card game ๐ - I know what I want and very much all of it, I really just don't want to write it. ๐
AI just makes things that look correct enough, so it can be difficult to spot logical errors
I did try to ask Google Gemini to "clean this up a bit" when referring to a code block, and it failed spectacularly, just the other day ๐
My philosophy is "Does it work?" Yep! "Errors come up as I go" ๐ - Security is different you kinda just have to know that stuff, but otherwise it works!
Never had luck with GPT or Gemini nor Grok...
imgur*.*com/tEWfM3d
If you were curious
In summary, it didn't clean it up. It added like 40 lines of comments, and broke the functionality of the program by over-complicating and missing things
IF it didn't break it I would consider it cleaned. ๐
One thing I hate are the comments are excessively "AI" - Like it writes pretty good code! But darn those comments!
I may be on like my 400th prompt though, so you know. it is an iterative process! ๐ - Gotta learn the AI language, but I have written some apps in Rust, C++, Java, C#. Scripts, and I mean 6 hours to get a non UI pure functionality and I can get something decent!
(I didn't write, I read and think though) ๐
The original code was like this:
- Create folders
- Copy data to final directory
- Make every file executable
The updated one was:
- Create folders (but expanded to be 4 lines instead of just one)
- Uses a find command to make every folder read/write and executable (which was pointless because it's a read-only directory, and the copy command does +x by default)
- Uses another find command to make every file read/write (which was pointless because it's a read-only directory)
- Checks if a folder exists and then uses another find command to make each file in it executable (it searches a folder that doesn't matter, and misses the one that does)
who could have guessed that vibe coding would lead to functionality and optimization problems
Plus the multi-line comments explaining the basic GNU utilities and how they were being used
As if nobody has ever used cp or chmod before
I was curious whether it would come up with a simpler way of doing what I was doing, hence the "clean this up a bit"
But it did not! It genuinely did the exact oppposite of my intention in every way lmfao
Yeah that is fun, I found a way to avoid a lot of the stuff. But it does require a lot more refined and smaller chunks usually once sizable requires a bit of context from your code base. Every now and again I will get some of that junk
It couldn't even handle a 5 line bash script so, and that was the latest Flash model from Google ๐ญ
i see quite a lot of similarities between asking ai to review/write code and the halting problem
What is the halting problem?
you're asking to see whether an algorithm can determine whether some code will function correctly
determine algorithmically whether any arbitrary program eventually stops running (by reaching a halt command)
Ah
in the case of ai generating code, it could be equivalent to asking whether the code generated by the ai eventually reaches the return statement for the main method
and famously, alan turing showed that there isn't a better way than simply running the code and waiting until it stops (for completely arbitrary programs)
Of course it was Turing... ๐
I took the Church-Turing thesis about what are the absolute pure basics for ANY application to function and deduced it to "Transport, Storage, and Events" - Anything can essentially be built off of these three. And welp, I am 20 plugins deep, one simple runtime and a very imaginative brain. ๐
but the point is that obviously for a code to work properly it should halt at some point (possibly with some kind of user input), and the language model would need to be able to determine whether the program halts before it can determine whether the program halts in the correct way
since there isn't a way to determine whether an arbitrary program will eventually halt without running it until it halts, this to me is a heuristic way of explaining why ai is bad at writing code
Well this is where iteration is key - AI doesn't "iterate" it just spits out jumbled mess, we have to stop and test once we get so far. We don't know what we don't know.
We also naturally break into smaller pieces - We can't solve the halting problem either, yet we have a brain that forces us to create workable code due to that iterative and testing step before we grow into complexity
This is essentially how I think people should use AI. - But I have seen many just ask it to create whatever they described.
the difficulty in getting ai to write code is that it doesn't have any fast way of checking whether its output actually makes sense, besides being laboriously and manually trained by skilled programmers
Yeah! I was just about to say your origional point is correct and I just accidentally re explained it.. ๐ Sorry!
But yes, although I don't think this is much different from humans, I think many just have unrealistic expectations of AI. - Though I treat AI like stack overflow and don't expect it to solve my problem, but rather translate it into code.
It's just predictive text, and I'm of the opinion that a diffusion-like approach is going to be a better path forward for language modelling
It's bad at writing code just like it's bad at writing stories
It gets too specific, and there isn't enough data at that point
Diffusion doesn't solve that, but it'd be a better fit for 'fill-in-middle' models like programming ones
Then again this should work very well given it isn't "Creating" and inflating. its conforming
i have doubts about getting ai to write code in general, because code often fails completely if a small detail is overlooked (unlike language)
That's how stories fail too
Code itself is a very limited token-set compared to language though, which helps with modelling it
the bible isn't always consistent with itself but it still generally succeeds in communicating its messages
Well, I would like to challenge your argument here, I think this is unrealistic to expect AI to just shovel something perfect out.
the thing about code is it generally either works or it doesn't
Correct! - But from my understanding your saying AI should skip the fails humans do because its AI?
my point is that an effective (and thereby consistent) code-generating ai should reliably generate functioning code
but for various reasons this is infeasible
You know your stuff
And didnโt expect to come in here and see Turing in the chat. That was a nice surprise and read
So than a human should be held to that exact standard, which just isn't going to happen
the point of having a machine do the work is that it should surpass humans in productivity
otherwise it's a waste of time and effort
the only problem I see is that the model is not trained specifically for your code base so it does not know it and just uses information you give it in prompt
Using AI is more productive, but making it build a system IT has no clue about is asking me to go build a black hole.
one of my points was that training the ai would be really cumbersome, and programming styles/paradigms falls under that
I can't see a world where AI is purly more productive than a human. There would have to be a tandom amount of work being done.
I guess it would be if you ask it to create an already solved problem
I also think it's infeasible for it to reliably generate code
The longer the problem, it gets exponentially more niche
Predictive models just don't work for edge-cases, and anything overly specific is an edge-case
At this point AI is a good second brain, just like having a peer working out a problem with you. (Though it sucks a bit more than a peer, more like google) ๐
Maybe if you find a model that isn't overfitted and wordy ๐
The fine-tuning they've been doing at Google is definitely a gimmick
The last thing I want an AI to do is spam my code with a thousand comments completely unprompted
Haven't read the entire discussion but curious to see why people are planning to use AI for Hytale development. Sounds like a not too great idea to me even if you somehow finetune it on the entire server source ๐
I donโt think the issue is AI outright replacing programmers tho.
Itโs the fact that one senior with AI can now be far more productive causing companies to hire much less juniors and mid levels. This isnโt conjecture itโs already happening and will accelerate until AI plateaus
with the size that datacenters and training centers have already grown to, i think we're starting to see ai reach its physical limitation
That's what I was saying too!
Last time we talked about this lol
there's also quite an abundance in juniors anyway
I still don't understand this sentiment. I either use AI very much differently than everyone else and get fantastic results - Or there is just a natural hatred or pure misunderstanding of how it is used.
And with the way boot camps and learn to code was pushed during when hiring led to more vc funding the flooded market just canโt support it anymore. AI sped it along
i think people should be proficient in at least one programming language anyway, even if it's just python
This I stand by. If your using AI you should be able to talk to the talk afterward.
Python isnโt a language , itโs just AI html for scientific nerds (Iโm jk donโt flame me)
Whats funny is now I can totally see that
i mean this for people who want to pursue a career in completely unrelated fields
like i study chemistry, but i still am very familiar with java and have some familiarity with c
I simply do not see how it could provide any benefits. It cannot help writing any "new" code, which basically all Hytale development will fall under. It also cannot follow any internal or external (community) standards properly as they are not yet defined. It is up to you as the (lead) developer of your project, together with the Hytale community to set those standards to ones you consider appropriate. AI will simply just go for the nearest neighbour when it comes to coding styles but it might not be the best.
How would you use it then for Hytale?
The average person didnโt care about coding until people learned what you could make. Letโs be honest
naming the npcs lmao
I'm curious about how your work looks
I've seen a lot of people write code poorly, even without the help of a machine that blindly creates code
And I can't imagine it helping too much with avoiding that part
This is not true. Nothing is new, its just different context. We are not researching new physics engines here
Well I have 17 years of programming without AI backing my understanding and comprehension, I didn't just walk into programming using AI. ๐ - But yeah I wonder how it compares now. ๐ (Google was my best friend) ๐
Hytale source content isnโt the issue. Length and context based performance deterioration is. Nothing in hytale source is new. But itโs big and convoluted.
It can write new code, it's just that it's increasingly unreliable the further you deviate from the norm
It's going to mimic the style of other projects because there's nothing on topic
What Shelbie said
The API is going to be new, and overfitting with other APIs is going to interfere
This bottom portion is key
Sure, you could argue things have been made before which is obviously true, but also you named it yourself already: its context that matters. And that context, especially in a greenfield project, is non-existant to an AI and has not even been properly established yet.
I meant more at a core level. Essentially nothing is new anymore. Thereโs no new technology being used here as far as I know
But you can feed it to AI.
If I want to develop a system that doesn't exist "No API" etc - I need to understand what I am making to tell it what I want, I need to understand what it all means. Doesn't mean I need to type it. ๐ (Should refine, doesn't mean I need to type all of it)
Oh well. Wherever anyone stands on this AI thing. Iโve been wanting to learn potato farming anyways
I have a great AI course for you!
I consider context to be more in-depth than just the server source code. Just how Bukkit plugin development had its own "rules" and standards people followed, Hytale will too and those will be established over time.
For example:
If you asked an AI without context to do something every second, it'd probably just make a 1 second loop. Whereas with Bukkit, you'd create a Runnable of 20 ticks etc.
Technically the AI is not wrong, but it's missing a subcontext rule. Which will always happen, unless you explicitly define these. Which could surely work, but will involve a lot of manual labour.
Technically the AI would be wrong because it'd almost certainly stall the thread LMFAO
Well there is the problem!
- Without context, why are we talking about AI as if its magical?
I don't know if you got the see the image I posted earlier, but it botched everything
Well technically correct != a good solution ๐
Speaking of ,I remember when I was starting. You quickly internalize you need a stop condition in loops. Truly magical the first time you make your system unresponsive. Really helped me learn.
LMAO
I think what the missing piece is generating solutions vs using it to type faster.
I prefer MonkeyType for the latter ๐
What is monkeytype?
Like I know what I want, I know how to make it, I can visualize it - But why write 500 lines when it gets generated in a few seconds and a few minutes to reveiw and modify? ๐
Typing Speed Website
Site to train your typing speed
Oh, I see
my fastest in monkeytype expert mode 30s 100% accuracy was 124wpm
I type at 130wpm, but I'm not sure how helpful that is for coding LMFAO
It's probably more important to learn vim ๐
probably not very important considering that for most projects you'll come up with code slower than you can reasonably write it
Every time I decide I want to learn vim because of how useful it looks , then I open the cheat sheet. And decide maybe sometimes itโs better to walk away
That does make sense but to me, I have never really been in a situation where this has actually saved me time. Often there being too many errors in a response will require me to regenerate and wait again or rewrite certain parts.
I do use AI for coding though occasionally, but only when I don't care about output quality/performance ๐
why use a text editor when you can use an ide
Yeah I haven't invested time into vim either
I use Zed as my IDE normally ๐
It took me like a year to figure out how to close nano ๐
Because modern vim has language-server support, which makes it an IDE anyway
When people say learning vim, they just mean the vim-style keybinds
Also coding wpm is frequently much slower than writing wpm because coding requires you to type characters like [] {} . , +_- *&% and other stuff constantly that is near the edge of the keyboard
my school offered me a free license to the premium intellij features so i use intellij
I intentionally avoid paid and closed source tooling
I personally think they're a scam!
Awww but I need people to fund my jetbrains IDEs
intellij is really reliable for java so i use it to develop minecraft mods
IntelliJ community edition is free luckily but I do understand and respect your views
I hope they go under and someone open sources their entire project after decimating their company ๐
Shelbie out here launching torpedos
I think I have IntelliJ IDEA installed but I haven't used it in a very long time
And will be actively avoiding it when Hytale drops
Do we know if Hytale recommends Gradle/Maven yet?
Which oneโs considered to be better ? I donโt really ever develop in Java
they're cancer.
Aight, guess I wonโt develop on Java
Both are a b**** to me but I prefer Gradle
It canโt be worse than javascript dependency management and bundlingโฆ.right..
LMFAO
Everything about dependency-fetching is cancer in every situation ever
Rust and NPM were fine but they cheat anyway with their centralized bs
"It can't be worse than javascript" applies to all things in this world to be fair
Anyway I hope it's gradle too ๐ญ
But shelbieeee, how else am I supposed to spread malware to billions of users without the centralized bs
Iโve had to update two projects this week alone from 2 vulnerabilities throughout the ecosystem. Just casual server side remote shell execution you know nothing major
Check my port 22, and try the top 5 most common passwords
I fear no RCE exploit, for I have RCE enabled already
LMAO
Cargo is super chill to use though I must say
Yeah, it was fine
Which is like, the best a dependency manager could do
With bars that high how can I ever succeed in life
PIP is centralised too (I think?) And its not as good so ๐
Rust has interested me but itโs so niche. As a rule of thumb I never bother with anything that wonโt make me bank. Just too old and if Iโm spending time away from family and friends it has to be worth while
I havenโt found many rust jobs.
Rust can hardly be considered niche ๐
Microsoft went all in on Rust and it's already been added to the Linux kernel
Mostly this. Least in my state. A search yields 2 results at most ๐
I know itโs popular
The US government even formally recommended Rust quite a few years ago lmao
"Niche" is a bit pessimistic, "upcoming market" is more optimistic. ๐
Yes yes but this is all new occurrences. Adoption rate is still quite low. Anything in the tech world is like dns. Takes time to propagate. If youโre a rust dev where Iโm at youโd need governmental food supplements
By new, how new do you think it is?
Upcoming market. Thereโs the phrase I was looking for
The government thing. I heard about it in the news recently. Not talking about the language.
And I know people that work at the government. It is slow. Iโll be dead by then
Rust first appeared in 2012, was added to the Linux kernel in 2020
The government thing was in 2024, and Microsoft started their mass-translation in 2024 or so as well
But itโs all good cope anyways. Iโll never wrap my head around rust paradigms it just feels like it does everything completely different
Yeah I know language is old. But I mean primarily adoption rate and jobs. The gov just now got in on it. Is what I meant by recent
Just 3 years ago I sat down and looked at the job market for rust
It was flat out terrible.
Amazon started using Rust for some things in 2019, and apparently Discord rewrote significant parts of their infrastructure in Rust
If you're comparing it to the popularity of JavaScript, you shouldn't be ๐
I compare it to basically anything else
In the 2025 Stack Overflow Developer Survey, 14.8% of respondents had recently done extensive development in Rust.[191] The survey named Rust the "most admired programming language" annually from 2016 to 2025 (inclusive), as measured by the number of existing developers interested in continuing to work in the language.[192][note 7] In 2025, 29.2% of developers not currently working in Rust expressed an interest in doing so.[191]
It's topped the charts 9 years in a row apparently?
Java eats it, python , JavaScript , even c and c++ , Ruby , still better options for employment
Rust where I am is a gamble aswell. ๐ (Also they want 20 years of experience...)
Developers. Thatโs why I said niche. Stack overflow has a tab for proffesionally and rust is super tiny.
If you click on stack overflow for language most want to learn , rust is super high , then change to used proffesionally and itโs rock bottom. Itโs ultimately a shiny toy in the grand scheme of things that devs love. But if I go to 5 diff corporations right now on my client list for a new implementation no one will choose rust even if I advocate for it
Well hey, you can most likely rewrite parts of Hytale in Rust for increased performance ๐
Rust for want, Java for current! ๐ Or is it Python?
Woah. I didnโt know stack overflow 2025 was out already. Only 14 percent of devs had 1-5 years of experience ๐ I donโt think Iโve ever seen that. That is the single biggest โjuniors are cookedโ stat Iโve ever seen
Don't worry it has been a mid level and higher for a few years now.
What makes you think that it's super tiny? It looks like all respondents said 14.8% and only professionals said 14.5%
That's basically zero deviation, not a big drop
I didnโt know the deviation I was based off prior years. Just looking at it now haha didnโt even know new one was out
Now I got something to do
Oooh I wonder where we are sitting now since Amazon had their fun big layoff? - Many game devs sittin out there, nearly impossible to get a job cause nobody is hiring - Don't go into the games industry yall!
It must've been some time ago bc I didn't know the new one was out either ๐
The deviation was about 0.9% for 2024, and it's now it's a third of that
Either way, I wouldn't consider Rust to be niche at all
It's extremely popular among developers in general, and a lot of big names are using it now
There are about 50 jobs in my state for it apparently ๐
But assuming half of them are bad listings, that's still like 20 jobs
That isn't a ton. ๐
Yup. But uh thatโs what I mean. 20 jobs is awful
Thatโs super niche in the industry
Its like one department or just a startup - Like 50 jobs? ๐
LOL
I thought it was 50 companies at first.
It's not like developers are born every day, most people give up
That's 12% of the development jobs in my area, 12% of the market here is Rust lol
I want to learn the language but it wonโt buy me bread
If you move here, you could buy bread with it ๐
The 100K on layoff would love to argue you. ๐
I want to get into Java with hytale because at my workplace they use Java for backend systems
Oooh yeah, thats where money and stablility is!
Maybe not a lot of money! But bread!
Yes well. But itโs also oracle db..
Nevermind you got bank
My workplace uses fckin Node for most systems ๐ญ
And all of our hand-helds were running Windows 98 until last year
They gotta pay ya to be interested
First off, that is a glory of a company! - Win 98! Playin Doom at lan parties!
Thatโs how it is. Were devs. We know what sucks and whatโs awesome but companies donโt care. every server Iโve written at work runs on node ๐
So yeah, in case you wanted to know what my area is like, and why 12% of jobs are Rust
It's because nobody has touched anything in 30 years ๐ญ
Python baby! Gotta get into that AI Engineer role! - Ya know? (Wild that is a real job)...
Been there done that
It sucks by the way, don't do that
who want to play minecraft :P?
/Smite
/execute at Caroline run summon lightning_bolt
What is that like anyway?
Helping AI goes against my beliefs. I will not create my own replacement. But then I see some of those salariesโฆ.
We play Hytale in here. Actually this is the channel where we don't play and just read/write about it
I mean if your replacement is a retirement... ๐
Well, it's a lot of math
And if you're not the math person, you're the API person
And their API implementations suck because they're all made by data scientists and not programmers
Not for me!
Iโve been tempted lately to just rebrand as an AI automation specialist or something. Not too low level but high enough that enterprise companies still want it.
We complain about hytale here. ๐
Lol! join the build engineering club! Its fun! (You blame everyone else)
We complain about frickin Mojang in here
What a bunch of jerks
They led us on for a literal decade with their modding API promises, hired Searge and everything
And for what, they didn't even use him after poaching the community talent
They don't even listen, they're too busy milking the golden goose
And they're doing it with the code quality of a literal potted plant
I mean... I want some of that goose
I remember us being a bit harsh on Hytale performance recently but hey! An unoptimized early access has similar performance to the biggest game ever ๐
You mean the "indie game"? ๐
is it really that bad though
Can't really judge without more context
I don't think so, but apparently they want to aim higher already so
They must think so
Just the fact it has built-in shaders already...
Not even willing to give server spec recommendations yet
Thats client. ๐
Like a 2-3 players 1.21 SMP runs perfectly on 1GB RAM dont let the DRAM mafia convince you elsewise
Oh you guys meant server
Wait your right though!!!!
I'm actually so excited for a proper indie with reliable funding
But Minecraft... Most reliable funding and indie!
I wouldn't call it a blog post. It is more of a technical manual with some example data. Just wrapped up a playtest with 70 people on various hardware until we finally crashed the server.
There is a lot of context such as "minigame server" vs "exploration mode SMP". We believe that a 3 vCore + 8 GB server can sustain 6-8 players. A Ryzen 7950x with 12 GB RAM server, we were able to push 70 players but TPS degraded until the server crashed (~45 minutes).
I think we will defintiely see 200 player minigames such as Mega Walls or Super Sky Wars. While vanilla SMP is going to require some beefy hardware to push 100 players in a single SMP.
We are continuing our effort to improve stability and further add performance optimizations to get those big anarchy servers.
Terraria has been going at it for more than a decade, and they're still indie basically
I wish Minecraft were still indie
It's not like they were doing so hot before the sale, but it definitely did not help lol
Yeah I got no idea why people call it an indie game stil... ๐
Actually this does sound like CPU is the main bottleneck now doesn't it? 50% ram increase with x10 player count but x10 CPU usage
Do people still do that? It's been 10 years since they sold out lol
Well take 70 players all flying super fast in a different direction, yeah, the CPU will need to be beefy
Oh yeah!
Yeah but then RAM usage would be significantly higher too due to loaded world. Its only 50% higher
That's actually hilarious
It's like the people who don't know what an indie music artist is
Depends on the way they store their data! Could be like vintage story!
Maybe just keeping the world itself isn't that much, but generating it is quite a lot
Grab it in memory shovel it out to a nicely structure DB.
Unsure how vintage story does that but I can see what you might be implying
Then again, you can optimize your server by turning off features:
Question:
Is there going to be the capabilities to disable certain vanilla features entirely or have more control over them like e.g precise control over chunk loading, disabling lighting updates, creating void worlds, disabling mob AI
Answer:
Yes to all of them. You dont just disable it but you can entirely unload the capabilities from the classloader and replace them with custom solutions.
Okay that's possible. But then what the frick is the other 8GB RAM for ๐
Everything that runs on the server
Well it can't all go to the world. EVERYTHING is simulated. States, etc