#server-plugins-read-only

1 messages Β· Page 31 of 1

kindred crescent
#

Remember also that 8Gb might just be what they had on hand. 2Gb might be just fine for a 4 players world

silver bronze
#

Can't really say for sure until we got access. I wonder if world generation is a big one for CPU usage because for any non-SMP servers thats a no brainer to disable

stray pasture
#

They are testing for a reason! πŸ˜› - Many more tests hopefully

kindred crescent
#

The server will get optimized with time

stray pasture
kindred crescent
#

Gotta remember this game is like 2 years away from a release

stray pasture
kindred crescent
#

They said the engine was like 1 year from being ok for release

sharp lake
#

I think 2 years might be the number they said as the minimum for early access

kindred crescent
#

In the end, we'll have access to the server code so optimization will also come from the community

sharp lake
#

Yeah, I'm curious how that will end up going
We'll probably be able to make some really flexible tricks for scaling

stray pasture
kindred crescent
stray pasture
kindred crescent
stray pasture
kindred crescent
#

The way I see Hytale, it seems to me to be a mix of Minecraft and Skyrim. Sure it's not exactly that, but the combat and ambiance of the game really looks like the same.
Now what's cool is that I really really like Skyrim, but creating content for Skyrim is very hard. Hytale would let it be much easier and I love that.

sharp lake
#

I think voice actors is interesting, but not something I'd want tbh
I recently joined Wynncraft again for the first time in like 10 years and the voice acting was certainly an interesting addition

kindred crescent
sharp lake
#

Is that a thing on Wynncraft?

silver cloak
sharp lake
#

I find it more immersive when you don't have voice acting, because it's rarely a studio-grade recording/performance

kindred crescent
#

Been a while since I played Wynncraft and even then, I never went far. I'm not much of a fan of MMOs. Especially not when I can't just play solo

kindred crescent
silver cloak
#

I would def use voice actors if I could

#

Are you guys pro or against AI voice actors?

sharp lake
#

I think conveying the voice through text styles is way more interesting

kindred crescent
#

Even if I or someone else doesn't like voice acting, the fact they want to go that way tells me they have a clear direction contrary to Minecraft that stays more "vanilla" or "general".

sharp lake
kindred crescent
silver cloak
sharp lake
#

I thinking having no voice acting in Hytale would make it easier for mods to mimic the style as well

kindred crescent
#

There will probably be a dialogue system mod real quick.

sharp lake
#

Conveying the voice through text styles is way more interesting to me anyway

silver cloak
#

Def, we have proximity though, so I guess it depends on your game design. Voice acting + proximity makes it hella immersive ngl

sharp lake
#

Oh maybe that's a good point

kindred crescent
vernal niche
#

β˜•

silver cloak
#

Someone is going to make a speech to text plugin and have you talk in the mic to continue πŸ’€

sharp lake
#

I like mumbles too, or the muffled dialogue some games do for it

kindred crescent
#

I remember Assassin's Creed Odyssey that let you create your own quests/stories and the characters talking would just be mute. Adding a mumbling would have been much better

sharp lake
#

Or cause cave collapses maybe

silver cloak
#

yeah

kindred crescent
#

Use AI to let NPCs react to what you say

silver cloak
#

I know roleplay servers are going to go crazy with this one

sharp lake
#

NPCs that give you riddles that you can answer with natural language processing would be interesting

#

Like getting into a dungeon requires you to answer a few questions
But you could ask for hints or give synonymous answers
With something like that, it probably wouldn't be too intensive because they're one-off tasks, you'd need a lot of players using that particular mechanic at once

stray pasture
dusty atlas
#

Plugins and mods are going to be paid or the eula says they must be free?

silver cloak
#

As long as it follows the EULA and community guidelines

fathom pelican
loud raft
#

Does anyone know if server plugins will support kotlin?

#

Also i’ve not done a lot of java modding but is there a harmony equivalent for java?

fathom pelican
#

quarkus or spring boot. anyone here ?

coarse canopy
#

will hytale natively support cubic chunks?

#

I was thinking of doing custom terrain generation for beautiful infinite worlds at some point maybe

#

and I am hoping that I can combine that with custom vehicles

kindred crescent
coarse canopy
#

LEZGOOOOOOOOOOOOOOOOOOOOO

#

big dubs

loud raft
delicate quest
#

do we know something about external oauth integration? such as authorizing on your website by hytale account

devout cipher
#

@late breach hytale oauth wound be dope

wet vine
#

You just need someone to log in-game on a server and type out a message right?

#

That would be a fun first project. To make an account verifier for hytale.

lament steeple
#

true

delicate quest
scarlet spoke
#

Yeah, that's the only safe way currently.

User Command -> Store Hytale Name in a API Server -> Generate Token -> Show Token + Link where to verify -> User enters Token -> API Request -> Verification done

steep lion
#

I wonder if there's any reverse proxy that works with QUIC protocol

formal burrow
#

wait we can't run a hytale server then set a simple nginx reverse domain proxy to it?

steep lion
#

i dont know actually

sharp lake
#

nginx*.*org/en/docs/quic.html

steep lion
#

nginx seems good

#

another concern is would the backend servers be able to recognize the connecting players IP addresses

#

I remember that sort of stuff being quite annoying to deal with last time I played around with UDP proxies

sharp lake
#

Even if they can't, why would they need to?

steep lion
#

ip bans / preventing server scrapers

sharp lake
#

You can do both of those from the proxy itself

steep lion
#

maybe sure

#

that does mean i would need a custom system if, for example, i want my moderators to control the ip filter

#

but its fine

sharp lake
#

You'd need a custom system regardless if you intended the bans to work across all of your servers lol

#

You just read the IPs from the db, just like every other server in your network

steep lion
#

maybe i dont need to retain original ip after all

#

the only reason i need a reverse proxy is because the actual host (which is my friend's machine) can't port forward due to isp limitations

#

so i have to put a secondary machine on the cloud and use that as the gateway for players

sharp lake
#

oh

steep lion
#

if nginx can handle hytale's udp traffic well it should be all good

sharp lake
#

Idk how Nginx works in this situation, or how they have it implemented in Hytale
But it's not entirely impossible that there will be a way to recognize headers like X-Real-IP, which would give you the original

#

If there is, then you could just use normal IP bans

steep lion
#

that would be convenient

rose atlas
silver cloak
#

cant wait to cook

sharp lake
silver cloak
#

Hytale does have a transfer packet

steep lion
#

transfer packet just makes the client connect to a different server

rose atlas
#

Could ask slikey tbh

sharp lake
#

There are like a dozen reverse proxies for QUIC
You don't need to ask anyone πŸ™ˆ

silver cloak
#

Can someone tell me in mc what exactly is a reverse proxy?

sharp lake
#

It's not a Minecraft concept

silver cloak
#

I know, but an mc example if someone could give

sharp lake
#

It's literally not a Minecraft concept, you can't just give a Minecraft example lol

silver cloak
#

ah

steep lion
silver cloak
#

ohhhh I see

steep lion
#

good reverse proxy softwares has more advanced features like load balancing but ive never had a server large enough to ever need a load balancer lol

sharp lake
#

Technically every time we use "proxy" when talking about Minecraft servers, they're all reverse proxies
Because the difference between a proxy and a reverse proxy is just who is in charge basically

#

It's just that on the open-web, we don't just say "proxy"
Because the difference actually matters a lot

steep lion
#

i dont think hytale would come with an official reverse proxy system because that'd mean the code has to be extremely flexible enough to allow handling packets without real "game server" behind it

sharp lake
#

You don't need one, and you wouldn't want one
You can use the industry-standard and fool-proof reverse proxies lol

steep lion
#

yea except you dont really get to control stuff based on the in-game context

sharp lake
#

Like what context?

steep lion
#

commands etc.

#

i mean server can still communicate with a general purpose reverse proxy software via various means but

sharp lake
#

Why would your commands control your load balancer and handling encryption 😭

steep lion
#

i mean redirecting connection to a specific backend server

versed bronze
rose atlas
#

ok

sharp lake
steep lion
#

basically what /server does in bungeecord/velocity in minecraft

sharp lake
#

You don't want your reverse proxy to handle that to begin with

#

That's the game's job, and the game supports exactly that natively

silver cloak
steep lion
#

i feel like transfer packets are easier to spoof by client

sharp lake
#

WHAT LOL

steep lion
#

uhh ok my example isnt great

silver cloak
#

No offence but why are you worrying about those little details? Why not focus on making a good server first. Like nobody cares about those geek stuff

sharp lake
#

How is that a concern at all for routing
You'd need game support either way because you can't just drop the connection and move them to somewhere else
That hack works in Minecraft because we tell the client we're entering a new dimension

silver cloak
#

You have no idea how many times I've seen people create orchestrations, custom systems just for their server to have ZERO players

sharp lake
#

So rather than using a hack to trick the client with a bunch of fake bs, we just tell them they're transferring directly now

steep lion
#

yea i see now

sharp lake
silver cloak
#

I am going to jinx it but who's going to client spoof you anyway

steep lion
#

honestly i was thinking of the features of velocity/bungeecord thats not reverse proxy so it got a bit off topic

#

such as communication between backend servers

blissful crane
#

Hi, do we know the minimum and/or recommended server specifications (pure vanilla) to handle x players ?

sharp lake
sharp lake
rose atlas
sharp lake
#

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.

steep lion
sharp lake
#

Ryzen 9 is vague as hell and it failed to "handle it" lol

silver cloak
#

Honestly I think that setup can def handle 500 players for minigames

sharp lake
#

We have no idea what kind of scaling issues they have

silver cloak
#

I am going to test it day 1 ye

versed bronze
rose atlas
sharp lake
silver cloak
sharp lake
silver cloak
#

Dude isn't it crazy that you can just drag n drop a new plugin and BAM you have new features

sharp lake
#

That's kind of what plugins do anyway LMFAO

silver cloak
#

Yeah but like I'ven ever seen that before

steep lion
sharp lake
silver cloak
#

facts

sharp lake
rose atlas
#

wait, a long time ago one of their blogposts said that servers can change textures, is that still up-to-date info or now not the case?

steep lion
sharp lake
#

Vanilla Minecraft is so poorly performant that there probably isn't a soul out there running that software for their real server

steep lion
#

i dont know about how it scales at large number of players because my smp only ever got about 15 players at the most peak

blissful crane
#

I hope that all these purchases will enable them to optimize everything properly, because the server is still quite demanding compared to other voxel games

silver cloak
sharp lake
rose atlas
#

i see, thanks!

sharp lake
silver cloak
#

And that's day 1 btw, they will introduce optimisations later

fleet isle
#

One thing about the whole reverse proxy stuff is that if you just use transfer packets, all servers need to have a public facing IPs whereas with reverse proxy, none of your servers need a public IP, the public IP of the reverse proxy is enough

steep lion
#

i dont think a lot of games take that approach of like connecting everything behind one reverse proxy

blissful crane
#

what about cheating? Is there anything planned?

rose atlas
fleet isle
#

not sure if Traefik supports QUIC

blissful crane
sharp lake
near raptor
#

Hm, I hadn't considered that with a transfer packet we need to expose all boxes.

steep lion
#

ah thats exactly what i was thinking, an additional payload (which MC does NOT have πŸ’€)

sharp lake
#

You don't need to, you can send the player a packet that connects them to the reverse proxy they're already connected to
Basically forcing a re-connection

near raptor
#

Or maybe some kind of proxy setup in front of all boxes? Not sure how that would work, but if there is an additional payload a reverse proxy could use that to route correctly

sharp lake
#

If you want to have a bunch of servers that players can jump between, but cannot connect to directly
You still use a proxy, it's just a typical reverse proxy

#

Not a specialized Minecraft one that abuses the client

steep lion
#

if you have a domain cant you also like do transfer to a.mydomain b.mydomain

#

and have nginx handle the subdomains

sharp lake
#

Yes, you could do it like that
But those are publicly exposed boxes

fleet isle
tropic axle
#

Can you send a player to any arbitrary host, or is there configuration needed such that the sending and receiving servers know about each other?

silver bronze
#

Ah networking... my worst enemy I have not thought about yet. I hope someone in the community will have a proper bungeecord-esque implementation for the Hytale transfer packets πŸ˜…

near raptor
sharp lake
rose atlas
#

I think servers with heavy modded content will need to use a FastDL CDN right?

sharp lake
fleet isle
steep lion
#

fastdl oh no
havent heard that since gmod days

near raptor
#

I am not so familiar with QUIC, but it seems like neither Traefik nor haproxy support it (or at least not a custom protocol). But maybe I am mistaken?

rose atlas
steep lion
sharp lake
rose atlas
sharp lake
steep lion
near raptor
#

Stupid question then as I don't fully grasp QUIC, does Hytale use HTTP/3 then, for all traffic?

fleet isle
steep lion
#

HTTP/3 is just like, another thing that uses QUIC i think

rose atlas
steep lion
#

QUIC is basically just a modern replacement for TCP, essentially

sharp lake
sharp lake
near raptor
#

Because to my understanding HTTP/3 sits on top of QUIC, which sits on top of UDP

steep lion
sharp lake
#

Yeah okay that's fair enough

near raptor
#

According to GPT, the right stack is:

HTTP/3
QUIC (which is UDP)
IP

So, lots of proxies out there support HTTP/3, but not arbitrary QUIC implementations (not HTTP/3)

#

It's a bit like why using Traefik for Minecraft proxying would be weird, as Traefik is primarily a HTTP proxy

steep lion
#

people decided TCP sucks so they started building a new protocol under UDP
and even the web technology is going to move over to QUIC in the future maybe

sharp lake
#

We know that Hytale works with Nginx due to a tweet
So although it could technically not be HTTP/3, it sort of seems like it might be

near raptor
#

Nginx is one layer lower I think, it can operate on the transport layer. But my networking knowledge is kinda bad at the moment, wwould have to read up on it again

sharp lake
#

garageagle

Can transfer packets still work if your servers don't all have public IPs? Seems like that would require some sort of proxy

Slikey

Yes, then you need a proxy but you don't need a bungee cord then, you can use a simple QUIC proxy such as Nginx to route your traffic.

#

I didn't realize they covered this exact matter, but yeah

steep lion
#

ive only used nginx for TCP, and specifically HTTP stuff which is the main reason why nginx exists
i dont know how well nginx performs when it goes out of web server things

sharp lake
#

From what I understand, it's what everyone uses basically

steep lion
#

seems promising then

sharp lake
#

Though looking at it more closely, Jeff might be right about it being a layer lower
It's possible we won't get headers or anything from HTTP3, but we don't really need them, and probably don't want the bloat of HTTP3 lol

rose atlas
#

i hope we can customize a server's loading screen 😭

sharp lake
#

It would be a little unusual because we're not moving text, we're moving actual data

steep lion
sharp lake
steep lion
#

custom loadscreen in gmod only exists because servers started putting tons of contents to download

rose atlas
fleet isle
sharp lake
#

I suppose it could just do a spinny circle or whatever

silver bronze
rose atlas
#

i wish i can post media man

sharp lake
#

I don't think it's that important whether you can change the loading screen lmao

steep lion
#

can you display html elements to players while they are in server

fleet isle
#

considering it's during the time you download stuff from the server I doubt it will be possible... but maybe when you're transfering from a server to server then maaaaaybe?

fleet isle
steep lion
#

it depends on how customizable the ui would be in hytale but it'd be funny if people start building react like tech

#

some fancy minecraft servers actually do that in their own propriatery code

rose atlas
#

Cant wait to play.. literally only 27 days left

silver bronze
silver cloak
#

Do you think it's worth paying for 1 big server instead of owning multiple small ones?

fleet isle
steep lion
#

if hytale allows servers to dynamically customize ui elements its inevitable someone builds react translation layer πŸ₯΄

silver cloak
silver bronze
#

Bad Apple with Hytale UI elements when

fleet isle
silver cloak
sharp lake
#

I hope they let us draw a singular triangle of any size πŸ˜‚

fleet isle
sharp lake
#

I doubt they're going to give us a web-view component

#

I wonder if the UIs will be 3D in any way

#

Like, if you can have an inventory model instead of an inventory texture
Peering into a backpack, with an animation and everything

silver cloak
#

oof that would be nice

#

I think thats how it is, considering the whole game is plugins

sharp lake
#

If they're not 3D, I'd imagine there will be ways to open a dedicated 3D one eventually
Otherwise you just have to put it in the game world I suppose, but it'd be simpler to avoid that

fleet isle
sharp lake
#

And since we're dealing with UIs, now it's a client thing

#

So we'd need a pretty mature client API
I wouldn't be surprised if this kind of thing is unavailable at launch

silver cloak
#

I would probably limit myself before I get sugar rush from too much candy. Everything seems possible

#

what...

fleet isle
silver cloak
#

Isn't the creative mode a plugin too?

sharp lake
#

it actually might be

#

I wonder how the hell that works

silver cloak
#

Slikey said some features are not yet plugins but eventually will be

#

Machinima panel too

rose atlas
sharp lake
#

Yeah I'm genuinely curious how far they've gotten with UIs provided by plugins

silver cloak
#

Damn I wonder if the machinima section is client side or server side

silver cloak
sharp lake
#

That was a deprecated system, wasn't it? Like one they ditched later

silver cloak
#

High chances the creative tools are plugins

rose atlas
silver cloak
sharp lake
#

That would be an incredibly impressive reference plugin to look at

silver cloak
#

fr

sharp lake
#

Studio grade build tools, help UI and everything

fleet isle
silver cloak
#

Dude, of course and it's a plugin because the ui snippet is in JAVA, the client is in c#

#

I just thought about it 😭

sharp lake
rose atlas
sharp lake
#

This is indeed a definition for a legal document, so it might not be the colloquial definition he intends, but it's one floating around

#

It's a catch-all to make sure they don't miss anything

stray pasture
steep lion
#

someone had the ridiculous idea of making an hytale (partial) implementation of bukkit api πŸ’€

#

in theory you could have a really abstract api that works for both minecraft and hytale but it can't do anything specific to either of the games

sharp lake
steep lion
#

probably would be fun for somebody's random weekend project

fleet isle
#

someone will be dedicated enough... like those people that want to rewrite the entire server in a different programming language

steep lion
#

oh yea someone will rewrite hytale server in rust to achieve that ✨ blazingly fast ✨ performance

karmic bane
#

Rust is probably more about safety rather than speed but faster than Java probably, if done well

cursive bramble
steep lion
#

hytale server in pure assembly

karmic bane
#

depending on how you look at it

cursive bramble
#

you can compare rustc instruction output in compiler explorer with gcc or clang

karmic bane
#

Yeah clang too, but generate the same code in both languages into LLVM IR and you'll see that it very much depends on usage

halcyon garnet
#

Hi, I'm new to Discord, is the server example available yet? I'd like to host it on an Ubuntu VPS, would that work?

steep lion
#

sadly not yet

#

i really wish they provided at least some basic testing tools to ensure the server setup would work when it releases (especially useful for testing UDP/QUIC routing setups)

west elk
#

They're planning to release a selfhosting guide a short while before the release.

halcyon garnet
karmic bane
west elk
steep lion
#

ill probably just make sure some basic ping pong connection with a quic server/client works

#

and hope it'll work when hytale relases

#

do we have information on what port it uses by default, or a preferred port though

karmic bane
#

i dont think so

steep lion
#

im hoping the server browser makes it so that players don't have to manually specify the port

violet sorrel
#

Did they already mentioned something in regard to offline mode or do you guys expect I would need multiple accounts to test stuff for more players πŸ˜…

loud raft
peak fjord
karmic bane
steep lion
#

that honestly sounds just like resource packs in minecraft

#

with the extra functionality to directly send data to players from server (like minecraft bedrock)

peak fjord
#

Rust is good for memory safety and performance, but a mess about the plugin system etc. The learning curve is insane to make something simple

peak fjord
#

Harmony is used to patch binaries, so its not needed in my case

#

I will allow devs to make their own plugin and loading it using native C# lib loading

loud raft
#

Hmm, guess you’ll have a way to monkey patch natively right?

#

Speaking of, do you know if they build the client using NativeAOT? If so that probably stops you from using harmony lol

karmic bane
#

Yes NativeAOT is used

cursive bramble
steep lion
#

minecraft community went too crazy that we already have several people planning to rewrite the server for the upcoming game that has not been released yet

stray pasture
#

I dont expect yall to have feature parity. πŸ˜„ That is not a realistic expection unless Hypixel is slow moving. πŸ˜›

loud raft
#

It’s gonna be a like that xkcd panel with 20 competing rewrites lol

stray pasture
loud raft
#

Haven’t written Java since first year university lol, should probably brush it up

formal burrow
#

syncthing is an INSANE PROGRAM

#

ive never used it before... was toying around with Vast AI gpus, was rendering a minecraft animation with 4 gpus

gloomy wren
#

Is the january 13 release expected to have the ability of making working multiplayer servers?

blissful crane
gloomy wren
#

aight thanks

kindred crescent
peak fjord
remote widget
#

Hello, I've started following Hytale news again after the pre-sale began.
I saw some statements from Simon online, mainly about servers; there have been many changes since I stopped following the updates.

Could you tell me what the base language is for developing plugins and mods in Hytale? Also, has there been any statement about "unofficial" player access to the servers?

Thank you in advance.

peak fjord
#

You can't mod the client, there is no plan to do that

kindred crescent
# remote widget Hello, I've started following Hytale news again after the pre-sale began. I saw ...

Language for plugins/mods: Java
Clarification: Mods are all server side. The client is not moddable. The client is in C# (compiled with Native AOT).
The game will be accessible to everybody on january 13th.

Additionally, they plan on having node scripts (like blueprints in Unreal Engine) for non-programmers. Models can be made and animated with Blockbench. Assets of the game can be modified with the Assets Editor.

peak fjord
#

Whats the .NET version used for the client side ?

kindred crescent
peak fjord
#

All good 😎

west elk
#

Keep in mind they're using AOT to compile it down to machine code so editing the client won't really be possible

peak fjord
#

But that will be a ton of work

wary escarp
#

Does anyone know the server requirements? I want to create one when the game launches.

sharp lake
# wary escarp Does anyone know the server requirements? I want to create one when the game lau...

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.

kindred crescent
peak fjord
remote widget
#

I understand, being developed in Java is a bit worrying, at least in relation to Brazil.
I don't have a very in-depth knowledge beyond developing plugins as a hobby in Minecraft, but Java's poor performance in relation to high memory consumption has always been a problem.

Besides, VPS or even shared servers with a reasonable amount of memory here don't usually have a very attractive price.

peak fjord
#

What is source shared in this project ?

kindred crescent
peak fjord
peak fjord
kindred crescent
kindred crescent
sharp lake
#

It's unobfuscated, so you can just decompile in the mean time

kindred crescent
peak fjord
#

That's why i will sent weeks to make a C# server

kindred crescent
loud raft
remote widget
loud raft
#

Honestly if someone gets kotlin plugins working I’ll probably use that over Java

west elk
#

Java performance isn't bad

kindred crescent
sharp lake
#

i think y'all are crazy lmfao
it's an early access title and the server can already handle double the number of players a vanilla minecraft server can
because all the content is server-side, you're going to be dealing with new features 24/7

#

they already confirmed that there are going to be nightly-style releases, and that they only plan to support the last few releases, if not exclusively the latest release

vernal niche
remote widget
# west elk Java performance isn't bad

NΓ£o Γ© ruim definitivamente, e estΓ‘ bem melhor do que jΓ‘ foi no passado.
Porem deve se admitir que hΓ‘ opΓ§Γ΅es mais viaveis, e com isso fico contente em saber que a comunidade busca criar uma portabilidade do servidor para outras linguagens.

peak fjord
west elk
#

?

remote widget
#

It's definitely not bad, and it's much better than it used to be.
However, it must be admitted that there are more viable options, and with that I'm glad to know that the community is seeking to create a server that can be ported to other languages.

#

I made a mistake pressing ctrl + c

west elk
#

No, I don't think it must be admitted that there are more viable options (suggestions?). Java is an excellent choice for this project, given the extensive experience of the Hypixel team, the target audience, performance requirements, and the core goal of moddability as a first-class citizen.

#

also being able to rely on the JVM for all of the low-level stuff (platform compatibility, memory management, tooling, etc) is a huge plus for development velocity

vernal niche
#

It will be very interesting to see if alternative server implementations will manage to stay relevant if they give up compatibility with the Java-based plugin ecosystem.

(And if people build a shim, if that doesn't eat up all the performance benefits the alternative server would have)

kindred crescent
lament steeple
jolly moon
lament steeple
jolly moon
vernal niche
#

You really can't imagine how many game servers are Windows only Hypixel_ThisIsFine

loud raft
#

Hi-C (c++ wrapper)

lament steeple
jolly moon
prisma agate
lament steeple
loud raft
#

Yeh

kindred crescent
#

Relevant here, new tweet from @random magnet (1/2):

If I had to add one more thing: the modding strategy I posted has flaws. I said that explicitly, multiple times. It is incomplete, and we are continuing to iterate on it.

One concrete example is client-local scripts and client-local asset packs. I did not properly account for the amount of client customization that is possible without client modification. Through our equivalent of data packs, we can actually do quite a lot here.

Yes, this approach appears limiting. Yes, Hytale is more limited than Unreal, Unity, or true Wild West modding.

Those limits are not arbitrary. They exist because they allow modders - and us - to reach a massive audience, keep players safe, and build a UGC ecosystem that can scale. Our goal is to push UGC into a new golden age, with a model that simply hasn't existed before.

On features like shaders, LODs, cubic chunks, etc.: I love these topics. Trust me, we want to make Hytale the golden standard for block game technology. How that all looks years from now is unpredictable. We work on many things we don't talk about, and some of them may eventually materialize in one form or another.

We have very high aspirations for Hytale but for now: We will release ASAP. Take LODs and cubic chunks as an example. We are already working on chunks and voxel storage at a level more fundamental than cubic chunks. This is an order-of-operations problem. One step at a time and the next step is.

So I don't want you to fish for promises - because we wish our promises to remain special and reliable. Judge us by our actions, and hold us accountable for whether this direction is the right one.
The honest answer to most "will you add X?" questions is: we could. If you ask, "Do you want this in Hytale?"- the answer is more than likely yes.

#

Right now, we have a list of high-priority, foundational problems that must be solved first. While doing that, we'll continue picking up smaller community improvements where it makes sense - often while we're already performing "surgery" on adjacent systems.

For modders specifically: please work with creators who can help surface concerns clearly and constructively - people like @sly grotto or @native idol. Form a focused group, articulate real problems and real needs, and bring that feedback with a unified, constructive voice. That is how we make this better together.

prisma agate
jolly moon
prisma agate
#

Also video games are one of the most demanding industries where performance actually matters, which is why things like ECS, game engines, etc are usually written in C/cpp

jolly moon
jolly moon
#

Which isn’t doing any graphic rendering so πŸ€·β€β™‚οΈ

prisma agate
wet vine
lilac stratus
#

Hytale will have a built-in mod library in the client right? What kind of web tools do you think we need? My experience is in web development/minecraft plugins/etc but honestly i'm going to be heavily relying on others for mods and may need to do some of it myself with what we want to do

wet vine
#

So that will be fun :3

halcyon grove
#

java is open

prisma agate
# jolly moon Well for the client to run sure, but it sounds like mods are mostly if not compl...

Actually servers need to scale by players, servers run all the simulations, and they do so at least 20 times per second (in Minecraft, but other games sometimes do it way more often)
It can be the difference between 100 and 200 players on the server

Also not saying their decision is bad, java was probably the right choice due to familiarity in the Minecraft modding community, but it is definitely not "performant enough"

wet vine
loud raft
wet vine
#

Obviously not

silver cloak
wet vine
#

Besides. I only know a singular fabric dev.

silver cloak
#

Mods are heavily regulated so you won't be downloading rats or anything. They are strictly HYTALE API

wet vine
#

And I wanted to mess with mixins specifically

kindred crescent
silver cloak
limber widget
#

do we have a date of when the server software/documentation for it is going to be public so we can start working on servers or will that be the same day as launch?

loud raft
kindred crescent
loud raft
#

Something that loads plugins serverside

jolly moon
kindred crescent
wet vine
prisma agate
west elk
kindred crescent
jolly moon
#

Another thing a lot of people overlook is the sandbox-ability of Java, I couldn’t imagine trying to write a C API that wouldn’t be trivial to accidentally leak memory addresses in, compared to Java that actually has fairly good tools to sandbox (jar in jar, Java agents etc), but I also might just not know enough about C’s β€œsandbox ecosystem”

prisma agate
wet vine
prisma agate
#

Well idk most, but that was my interpretation of Slikey message

wet vine
#

The nicest things about C# and Java is just that the bytecode output is somewhat mappable to the source code and modifiable at runtime.

#

Thing hytale doesn't leverage at all cuz no mixins

#

Which is probably why riot was moving to a more performant language like Cpp?

kindred crescent
# prisma agate Btw not true, only parts of it are plugins, most of it is hardcoded

correct, everything is a plugin, some ar jar's and others are just shaded in but you can compile them out.. its far from perfect atm
ultimate goal is that yes the server core is basically just a plugin loader with basic network stack, protocol, ECS and logging / profiling

Yes, they still have hardcoded stuff, but like 1-2 months after the launch? I just feel like it's useless to say "Well actually, some of it is..." when it might not be the case 3 months after the launch

#

Yes and no. The server is composed of around 70 modules / plugins. There are still many things in the "Core Server" which we are trying to pull out to increase modularity but it takes a bit. A lot of systems are in plugins so that you can simply disable them to save performance if you don't need those subsystems for your minigame / server usecase.

#

@loud raft

the modding system is the combination of
Plugin Loader
Asset System
ECS

those together allow complete composition for pretty much everything on the server

loud raft
#

That answers my question nice

prisma agate
kindred crescent
wet vine
#

You bet!

prisma agate
kindred crescent
#

Now all that is left is for the community to grasp and understand what an ECS system is like lol

lilac stratus
wet vine
prisma agate
lilac stratus
#

Entity Component System (ECS):

  • Entities are just IDs
  • Components are data attached to entities
  • Systems operate on entities with specific components
    This means:
  • You can add/remove components at runtime
  • You can create new systems that react to components
  • You can redefine behavior by changing composition, not code
  • You can build complex logic by combining simple components
    ECS is basically Lego for game logic.
kindred crescent
lilac stratus
#

🧠 A simple example
Let’s say you want to create a flying wolf.
Asset System

  • Define a new wolf variant
  • Add a β€œflying” component
  • Add a β€œglow” component
  • Add a β€œloot table” asset
    ECS
  • A β€œFlyingSystem” moves entities with FlyingComponent
  • A β€œGlowSystem” handles glow logic
  • A β€œLootSystem” handles drops
    Plugin Loader
  • Loads your systems
  • Registers your assets
  • Hooks into events
    You never modify the base wolf code.
    You just compose a new creature.
jolly moon
lilac stratus
prisma agate
kindred crescent
kindred crescent
# prisma agate Not sure what ur point is

I feel like people are too optimistic for Hytale
I know it's not what you were going for, still thought it was a little funny comment and somewhat relevant πŸ™‚

prisma agate
jolly moon
kindred crescent
prisma agate
#

They said it'd be early access for a few years, it'd not take 3 months to do that

kindred crescent
prisma agate
prisma agate
# kindred crescent How so?

Making a good visual programming language is a ton of effort, effort that should be spent on the actual game

kindred crescent
prisma agate
jolly moon
silver cloak
jolly moon
#

I think it’s an invaluable asset to the game, and could be what sets it apart from anything else in the industry

kindred crescent
silver cloak
kindred crescent
silver cloak
#

He was replying to me in the discussion thread

wet vine
prisma agate
kindred crescent
prisma agate
silver cloak
jolly moon
wet vine
kindred crescent
wet vine
#

And nuked mcfunctions from orbit

silver cloak
#

mcfunctions most complex shi on planet earth ong

wet vine
prisma agate
fringe ore
#

What limitations are we gonna see right outta the gate? We gonna decompile server software to understand how they've done it?

kindred crescent
# wet vine What is the difference?

It's just a structure of a bunch of components that go together to make a result.
In fact, we will be able to make custom node components with Java.

prisma agate
jolly moon
wet vine
kindred crescent
#

It's all just Java under the hood, that's what I mean

jolly moon
prisma agate
prisma agate
vernal niche
#

Didn't want to interrupt the ongoing discussion here but just posted something to #discussion that I know some of you in here were interested in.

kindred crescent
jolly moon
wet vine
jolly moon
fringe ore
prisma agate
wet vine
fringe ore
#

Thats recommended

wet vine
#

You're just connecting components together, if you need actual business logic go write a new component

fringe ore
#

So i mean efficency and updates should be better over time right

prisma agate
jolly moon
#

From the sounds of it, its essentially just going to be a script generator that will transpile nodes into simple predictable functions

#

In which case you can build your node tree and then switch to Java and use its standard library to tweak functionality not available in nodes

#

At least that’s how I would imagine it would work

wet vine
prisma agate
wet vine
#

The other guys told me it was a bit much for our scope lmfao. They are right.

#

Still on my list for later tho!

peak fjord
prisma agate
#

Scaling won't be linear

jolly moon
peak fjord
prisma agate
#

You'd probably run into compute issues way before

wet vine
peak fjord
#

But its really big compared to other game servers

prisma agate
peak fjord
#

A power of 2 for each 10 players πŸ˜„

jolly moon
silver bronze
jolly moon
wet vine
loud raft
#

Wonder if someone could come up with a fivem like system to handle 1000+ players

prisma agate
jolly moon
vernal niche
wet vine
light lance
peak fjord
loud raft
#

πŸ€”

jolly moon
unborn river
jolly moon
#

No lobby holds more than 100 players concurrently

unborn river
#

Is there a possibility of pregenerating chunk?

wet vine
loud raft
vernal niche
peak fjord
#

You can setup your own player/bucket limit

peak fjord
#

I think πŸ€”

vernal niche
jolly moon
#

Is it saving on the overhead each instance has? I guess??

stray pasture
peak fjord
jolly moon
silver bronze
#

Any chance you can do a "stripped-down" benchmark AndrΓ©? Just trying to see what the load is of a bunch of people vibing in something like the Hypixel lobby in size. Try and see how many players the game can handle for just a chill hangout rather than full gameplay, (no chunk loading/worldgen) which could be cool for tons of things.

light lance
jolly moon
loud raft
#

They can scale Upto 2048 players afiak

stray pasture
#

Sounds like MMO region management.

peak fjord
#

Its almost the same principe as the chunk system. You only load chunk that you see / around you
You dont need to load 10 000 chunk forward :p

jolly moon
# peak fjord Exact

Oh I guess that’s pretty cool, but only really applicable to open world servers and not too useful for smth like mini game servers

jagged comet
#

Hi all, is there a channel for server-admin recruitment? Like a place to join up with others making early servers?

peak fjord
vernal niche
stray pasture
wet vine
stray pasture
jolly moon
stray pasture
#

Or redis world sync!!

#

Distributed hytale server

vernal niche
#

Damn I should really have put the word ramification in my post

stray pasture
wet vine
#

Seems pretty simulatable for a server lobby right?

stray pasture
wet vine
stray pasture
#

Happens a lot...

wet vine
#

Thought it was sarcasm lol

loud raft
#

I have no distributed systems experience tho so it’s out of my skill set lol

wet vine
#

My distributed systems experience is bringing down a Minecraft server I was in 3 digits worth of times.

#

And getting my own database nuked

fleet isle
#

Losing data one way or another must be the first experience whenever dealing with any kind of server management

wet vine
#

Bobby drop tables is a cannon event

#

A rite of passage even

sharp lake
#

copy-on-write where

#

when i do dumb stuff i just roll it back, like

stray pasture
vernal niche
#

There is a German joke about distributed systems that can't be translated (Verteilte Systeme sind eventuell konsistent)

stray pasture
#

YHuh.

sharp lake
#

lmfao

stray pasture
sharp lake
#

i think the joke is that they're basically never consistent
but it is not one i've heard before, so it could be something else πŸ’€

karmic bane
#

yea same

sharp lake
#

it feels similar to when someone tells you to buckle in, because it "should" prevent you from flying through the windshield

stray pasture
#

One day I will make a distributed game server and they all run lock step deterministic - One day.

summer loom
#

German. Joke?

silver bronze
karmic bane
#

Andre explain your germanness

summer loom
vernal niche
sharp lake
#

My German is from books and flirting and nothing in-between 😍

karmic bane
delicate crag
kindred crescent
#

Tweet from Slikey:

Yeah, inside of the world configuration, you simply set the pregeneration region and it will ensure that this area is generated before players can join. This should definitely reduce runtime world generation overhead.

rose atlas
#

i wonder can we customize how the world generates or no tools for that yet?

kindred crescent
# rose atlas i wonder can we customize how the world generates or no tools for that yet?

Yes we can.

We're building Hytale with modding at its core. Most of what you see in the game can be changed, extended, or removed entirely. Blocks, Items, NPCs, World Generation, UIs, systems, and behaviours are all driven by data and code that you can influence.

Data Assets - JSON files
Drive gameplay behaviour and define core content:
Blocks, items, NPCs
World generation
Drop tables, loot, and more.

An unfinished internal editor we used as a temporary solution for world generation, creative tool brushes, NPCs and hopefully more soon.

You can see a picture of the node graph editor in the modding blogpost.

rose atlas
#

oh ok cool

formal burrow
elfin heart
#

Hopefully there is proxy support. For networks to be built. Really looking forward to making a high scale server.

cursive granite
#

a

summer otter
#

Even if there isn't one natively. I think we can use other networking tools to allow doing this as well. Maybe with some modifications like networking plugins on the software. Well we will see ultimately. I do hope it's also build into the server jar but we have to see and hope for the best

west elk
elfin heart
west elk
elfin heart
sharp lake
#

I wouldn't say for most use cases
If you want to do load distribution and stuff, you still want one

#

It's just a normal proxy like Nginx, you don't need a special hacky one like we did with Minecraft

modest burrow
#

Has the server side been tested for performance or are they expecting everyone to horizontally scale. I assume they expect everyone to horizontally scale when it requires dev ops and the community is made of Minecraft Java devs

stray pasture
modest burrow
#

Only 70 players?

stray pasture
modest burrow
#

The bad performance for voxels refers to the client side, not server side as much

stray pasture
modest burrow
#

Sure for some things like physics

vernal niche
#

I think it's important to note that performance tests are being performed to find bottlenecks and resolve them, and that results may change with every iteration

modest burrow
#

70 players for a new made server is just bad though.

#

Hopefully they get a grip on it, so all these mc java devs don’t need to learn dev ops

stray pasture
kindred crescent
# modest burrow Only 70 players?

70 players in a specific use case. Here, from a Slikey tweet:

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.

rose atlas
summer otter
#

I would be curious how the packets would work and stuff, and if we can even use a third party add-on to offload stuff when needed. Not that we should have to, but it allows for even more scaling when you can hack the protocol together. Although minecraft is not the best example but the closest one I can think of, I once did an experiment to offload certain serverside computations to other processes, and even gpus in the end. Not that it was a masive success as it was all hacked together and more a proof of concept yet it was interesting. I actually learned that increasing the tps beyond 20 had some interesting consequences on packet rendering. Which I could then use to render ui in a different way and abuse it to capture arbitrary key input. But okay this was all experimental and wouldn't be published in a real project

modest burrow
#

Because we want good servers that hold many players to minimize developer work

kindred crescent
#

The full 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.

summer otter
#

Yet it does show the advantages of knowing the protocol eventually even if it means hacking together your own launcher or extending one

kindred crescent
rose atlas
stray pasture
#

Lol, 70 players flying at max speed generating at the same time is quite imptessive

summer otter
#

I'm not talking about client launchers

#

I'm now talking about the server jar

rose atlas
#

idk tbh, we have to see released docs.

rose atlas
kindred crescent
stray pasture
kindred crescent
#

Yeah, inside of the world configuration, you simply set the pregeneration region and it will ensure that this area is generated before players can join. This should definitely reduce runtime world generation overhead.

rose atlas
#

cool thanks for the info

stray pasture
#

But as for performance, 70 players good start for a very very early access game.

kindred crescent
#

I feel like we should consider the true early access to be in like may/june. Anything before that is like an alpha

#

(I say may/june because Simon said they would ideally push back the release 3-4 months to get something decent before release)

near raptor
#

In a sense, we are getting an early build to make some mods / plugins with before the true "early access" releases then :p

kindred crescent
#

It's like "Here, you can play with it while we work on it"

stray pasture
#

Also we did some comparisons.

We're now at double the average paper enhanced MC server on just your average Hytale server... like damn!

kindred crescent
stray pasture
karmic bane
#

We need 1M player civilization in Hytale!

rose atlas
#

I have a crazy idea to make Hytale's 1st ever Creative mode server where people can build anywhere and edit the world with the tools

kindred crescent
loud raft
kindred crescent
#

(No Todd Howard gif rip)

near raptor
#

fifteen times the detail! See that mountain? You can go there!

#

Twohundred times the bugs!

kindred crescent
loud raft
summer otter
#

not chat in my case, it was more like entity rendering

near raptor
#

Not yet

stray pasture
summer otter
#

and I did an experiment with client side shaders which I could manipulate using maps in minecraft in which I could create custom GUI, and more like this but it needed pre rendered stuff which I offloaded to a server with a gpu Woops

sharp lake
loud raft
summer otter
#

nope server

vernal niche
summer otter
#

but I did client side stuff using the server side

sharp lake
summer otter
#

it was quite hacky though

stray pasture
# summer otter nope server

I feel like I lost the context of the convo. πŸ˜„ something about packets and offloading entity computation?

vernal niche
summer otter
#

yeah entity computations, but also some rendering like real rendering, but it's to advanced to explain in a quick chat. I do get the confusion though I should have stated it better

stray pasture
summer otter
#

If you're interested I can share a bit of my experiments in dms, as I did rendering from the server but mainly to bypass some mminecraft restrictions

summer otter
#

as I found a way to send arbitrary data to a minecraft client which it can make sense of

loud raft
#

Sounds interesting

stray pasture
#

I got dis privacy settings so friend!! πŸ˜›

sharp lake
vernal niche
sharp lake
#

I just skimmed the source of Nginx and it does look like it supports raw QUIC, but I could be mistaken
I could try to configure it, though I'd need to find a QUIC application to work with first lol

sharp lake
vernal niche
sharp lake
vernal niche
#

I really wanna throw a Golang project somewhere into this ecosystem and a quic load balancer could've been nice πŸ˜…

sharp lake
#

It would fit in perfectly
The server networks on Hytale are actually going to feel so elegant compared to the awful jank we've done in Minecraft 😭

#

It's impossible to convey how awfully janky it is to abuse world-loading and dimensions and use various protocol hacks just to get something so simple in the end

lament steeple
sharp lake
#

Or you could send them directly, to entirely different networks

#

It's just a matter of whether all the servers are public boxes, or if they're hidden behind the proxy

vernal niche
#

I still have a redirecter on my list of things to try. I just need a long evening and a nice cup of cocoa to find out how much of the default server logic I can throw out until the transfer packet stops working

lament steeple
#

honestly im really hyped to explore the how the server jar works

#

probably what ill do on d1

sharp lake
#

I'm probably gonna chuck myself into the world actually
Though I'm immensely curious how creative mode works on the backend lol

lament steeple
#

fair

still sleet
#

I'm seeing a lot more technical talk than what that faq I saw on the hytale blog would allow for, is there some hidden faq I can't find or someone I need to follow on twitter for this info

lament steeple
summer loom
lament steeple
#

following on twitter is a great way to get instantly updates and not wait for updates on hytalemodding or something like that

vernal niche
kindred crescent
summer loom
lament steeple
#

they changed it

summer loom
lament steeple
#

ah good to know

strange tapir
strange tapir
summer loom
#

Yeah it already has some of the random plugin examples Slikey posted in the discord the other day

vernal niche
#

Fun fact, when I was last playing around with that, zero messaged me because I was causing exceptions he hadn't seen yet

summer loom
#

@strange tapir Do you guys use something like Jira/Trello to track internal bug tickets? I can't imagine how much needs to be done haha

strange tapir
strange tapir
fast jay
#

I run playit.gg (100k monthly active users, mostly Minecraft). Would it be possible to get early access to docs about the Quic based network protocol so I can ensure support on early access launch day? Email is patrick <at> playit.gg.

summer loom
fast jay
#

Found it, thank you.

west elk
vernal niche
#

Alrighty folks

sharp lake
#

Transfer packets in Hytale are small data payloads (4kb) that allow players to move from one server to another while carrying information. They are not equivalent to something like BungeeCord or Velocity and are primarily intended for smaller servers.
This is pretty opinionated for what hytalemodding.guide seems to be πŸ™ˆ

#

It's a stretch to say they are primarily intended for smaller servers
Maybe I'll end up joining their Discord lol

#

Visual Scripting: Replaces command blocks, fully sandboxed

#

It was actually confirmed that we'd get developer comments in the server source code?

kindred crescent
sharp lake
#

I figured they'd strip internal comments

#

We are releasing the server as shared source - you will have the source code with no obfuscation and all our comments in it. You can run very heavily modified versions of the server. If you really want to and you have the technical skills, you can make your own Hytale server software. I know some Rust programmers are already warming up the keyboard. You have to make sure you keep the protocol compatible with the latest version of the client though.

west elk
sharp lake
#

Yeah, like it's not replacing Velocity's inter server communication
It's replacing the fact that we need a dedicated server that has to stay in spec with the game and imitate a real server 24/7, just to move people around
We'll still need proxies if we want to do things besides transfer players to public servers, like load balancing and transferring to backend ones lol

#

Those kinds of proxies are extremely cheap to run though, and are very common
You could grab basically any QUIC proxy off the shelf and use it for your Hytale network

#

A single-board ARM computer like the Raspberry Pi can easily handle hundreds of web requests a second
We'd expect gaming to be more intensive, but not thousands of times more intensive lol
According to some DigiKey benchmark, the Pi5 hit 100k requests a second lol

#

Maybe not a safe assumption, because I'm not super well-informed on how request numbers translate into gaming
But I would assume that you're not going to be sending more requests than the client ticks, so for Hytale it would be 50 a second
And that's not even close to saturating it, even with more than 200 players, for a single-board computer lol

normal dune
#

Good evening, everyone. I haven't followed the chat much here, but how are the speculations and news about server development?

sharp lake
#

great so far lmfao

fathom pelican
#

woah, they confirmed linux support has been added. i didnt think that would happen before release. what absolute madlads

sharp lake
#

It's been discussed a couple times, but I didn't see it posted here
Slikey did end up confirming builtin pre-generation

Yeah, inside of the world configuration, you simply set the pregeneration region and it will ensure that this area is generated before players can join. This should definitely reduce runtime world generation overhead.

normal dune
# sharp lake great so far lmfao

Okay, but what I mean is: the architecture and everything, will we actually be able to develop once it goes into pre-registration? Just to analyze and so on. Another question: is there any other place for developers?

sharp lake
kindred crescent
normal dune
kindred crescent
#

To my knowledge, this is the only official Hytale discord

loud raft
simple junco
#

Is there already any documentation on how to start building servers? I want to start working on it.

rose atlas
#

i just realized their system requirements states this:
-# A graphics card with up-to-date drivers supporting at least OpenGL 4.1 is required. Future versions of Hytale may additionally require support for Vulkan 1.3 and DirectX 12.

sacred tulip
#

I don't have a dedicated graphics card

#

I actually don't even have a computer right now so I guess it doesn't matter anyways

sharp lake
#
  • OS: 64-bit Windows 10 (version 1809), Windows 11
  • CPU: Intel Core i5-7500 (or equivalent), AMD Ryzen 3 1200 (or equivalent)
  • RAM:
    • Singleplayer, with dedicated graphics: 8 GB
    • Singleplayer, with integrated graphics: 12 GB
    • Multiplayer-only: 8 GB
  • GPU:
    • Integrated:
      • Intel UHD Graphics 620
      • AMD Radeon Vega 6
    • Dedicated:
      • NVIDIA GTX 900 Series
      • AMD Radeon 400 Series
      • Intel Arc A-Series
    • Note: A graphics card with up-to-date drivers supporting at least OpenGL 4.1 is required. Future versions of Hytale may additionally require support for Vulkan 1.3 and DirectX 12.
  • Storage: SATA SSD with 20 GB of free space
  • Network: 2 Mbit/s connection for multiplayer (UDP/QUIC compatible).
#

i emboldened the word "integrated" in both places it shows up

#

your graphics card can be integrated, it just has to have 4.1

stray pasture
sharp lake
#

downloaded the last month of slikey and simon's twitter replies so i can search them 🀣

#

i now have a hytale encyclopedia with tweets, blogposts, and outdated client source

latent spindle
#

Guys can shaders be server side?

sharp lake
naive heath
sharp lake
#

It won't be available at release because they haven't sandboxed it yet

latent spindle
sharp lake
#

There isn't an API for client shaders yet, and that's what we'd need

latent spindle
#

I was just doing the ishowspeed meme

sharp lake
#

what

latent spindle
sharp lake
jaunty shoal
#

Do we think hytale would be compatible with spacetimedb?

#

No lol

summer loom
# jaunty shoal No lol

Yeah in that case wouldn't you need to write completely custom server software built for it?

sage panther
#

You just need to write Java code that interacts with spacetimedb

#

then we use whatever interface hypixel gives us to influence the way the server behaves

#

just how limited that interface is, is still unknown fully

#

worst case scenario, we hijack the server source fully and not use the interface they provide

sharp lake
#

It's not a database program, despite the name

#

You can think of SpacetimeDB as both a relational database and a server combined into one. Instead of deploying a web or game server that sits in between your clients and your database, clients connect directly to the database and execute your logic inside the database itself. No more Docker, Kubernetes, VMs, microservices or extensive ops infrastructure.

SpacetimeDB has enabled us to build our massively multiplayer game, BitCraft, with a small team. Its entire backend, including all game logic, real-time player positions, and all persistent state, is implemented as a SpacetimeDB module.

summer loom
#

Ok in that case it would be really hard becaue you would need to get SpacetimeDB to be simulating a Hytale world right?

stray pasture
#

Not if it can just drop in. As long as it continues the life cycle you can ad hooks wherever for data. So not really anything for a rewrite.

summer loom
#

Based on what Shelbie posted, it seems that the hooking into the db defeats the purpose. The database itself is the memory of the server, being updated in realtime, not a copy like an external db usually is.

sharp lake
#

Instead of deploying a web or game server that sits in between your clients and your database, your clients connect directly to the database and execute your application logic inside the database itself. You can write all of your permission and authorization logic right inside your module just as you would in a normal server.

In summary there are only 4 steps to getting started with SpacetimeDB.

  • Install the spacetime CLI tool.
  • Start a SpacetimeDB standalone node with spacetime start.
  • Write and upload a module in one of our supported module languages.
  • Connect to the database with one of our client libraries.
#

So basically, no it won't be feasible
The Hytale client is not going to be modded, and that seems to be a pretty fundamental aspect of implementing SpicetimeDB

#

If we assume I'm misunderstanding, and the client-side is not an important part
Then what you need to do is basically port the server entirely to their module system, which would require a rewrite into C# or Rust

#

And would require a significantly different architecture/design
Much like converting Hytale into a P2P architecture

#

I think there's technically a way you could do both of those things by making an advanced plugin
So basically all your players would join a "singleplayer" world, which would start a custom integrated server
And that custom server would use the plugin to communicate and sync with the other clients' integrated servers

#

It's possible that the integrated singleplayer server is going to be more tightly tied to vanilla though
Like, the server itself is open source and we can easily swap out the networking components entirely, even without the plugin system
But for the integrated one, I assume we'd have to stick to the plugin system exclusively

sharp lake
#

If the goal is to get rid of dedicated server costs, I think a more traditional and inefficient forced-P2P plugin sync thing would be easier πŸ’€

balmy vessel
#

Server only plug-ins seem like they would suck a lot or be really good

sharp lake
#

I think they're going to be excellent
We've already had incredible feats with server-only Minecraft plugins
And Minecraft is genuinely awful for that, in a thousand different ways

kindred crescent
#

Server only plugins means players don't have to download them manually unless they want to use them for single-player

sharp lake
#

Cymaera has some very interesting work with server-side only, and no resourcepacks
youtube*.*com/watch?v=uZmEYYs0ZKs&t=119s
In case any of you have never seen it before

#

And of course there is the Wynncraft team who have done some pretty amazing things with resourcepacks and server-side plugins

patent quail
sharp lake
silver bronze
#

Also basically the entirity of Hypixel was made using server-side plugins

sharp lake
#

Wynncraft has been around for so long that it actually didn't even start with server resourcepacks
And even once those were added, you could only texture existing things
And it took Mojang years to even address that part

sharp lake
#

Items weren't data driven and you couldn't just arbitrarily apply textures based on NBT either

#

Minecraft has been literal cancer to work with

silver cloak
sharp lake
#

The loss of brain cells is prominent enough to get it classified as a carcinogen

silver cloak
#

But still you can't make native items / blocks. You still disguise blocks

#

Right now most people use noteblocks for blocks and papers for items

sharp lake
silver cloak
#

they added npcs few snapshots ago

sharp lake
silver cloak
#

Yeah when hytale was announced in 2019 I was certain it would wipe minecraft because these guys had given us NOTHING

#

Still to this day, server software and modding is third party. There's no official help

sharp lake
#

the most recent snapshot added a /swing command
can you guess what it does? it plays an animation for the target, the swing animation
and that is it, you cannot play any other animation

silver cloak
#

😭

sharp lake
#

genuinely wtf are they even doing at this point if that's their next move

silver cloak
#

idk kill the game because they thought they will have no competition

sharp lake
#

The bar is that god damn low
That's why I think Hytale is going to be fine, even in early access

silver cloak
#

how is it possible that they have microsoft funding / millions in cash and they cna't hire 5 people to work on creator tools?

tidal mauve
#

wasnt that obvious ages ago when microaoft bought them

silver cloak
#

Yeah but that was 2014

tidal mauve
#

yep

#

you can still somewhat see when the direction of minecraft changed

sharp lake
silver cloak
tidal mauve
#

id say signs were there all the way back in 2017

sharp lake
#

It's not even just decompilation
It's forcing things to work in ways they're not supposed to

sharp lake
#

Minecraft Windows 10 edition might've even been 2016

silver cloak
tidal mauve
#

i wonder how much resources they are spending maintaining that abysmal c++ port

sharp lake
tidal mauve
#

right its stuffed full of monetization aint it

sharp lake
#

yes, you should try it sometime

tidal mauve
#

nah, ill pass

sharp lake
#

maybe witness their new official server too
it's pay to win by the way

silver cloak
#

When I grow up I would like to be a minecraft marketplace content creator ❀️

sharp lake
#

they artificially slow your progress with a thousand timers are charge you to skip them, hour by hour

silver cloak
balmy vessel
tidal mauve
silver cloak
tidal mauve
#

almost any unity modding

sharp lake
#

why do we have to do fckin scoreboard math to multiply motion values

silver cloak
#

We got forward backward detection systems few snapshots ago too

#

The game doesn't know jumping from flying or falling, it's all velocity values

#

It's so easy to cheat too, they have no protection at all

sharp lake
#

literally anyone could do a better job with minecraft considering the resources available
even a 3 year old baby would be able to hire help and at the very least appeal to other human beings who want to play the game

#

I'm actually convinced a toddler would do a better job, because they wouldn't be so god damn greedy

silver cloak
#

facts

balmy vessel
silver cloak
#

Also that 1.9 pvp is so cancerous man

sharp lake
#

I would literally purchase Minecraft again if their CEO and CFO were replaced with 5-6 year old kids

silver cloak
#

I play games for dopamine not sit around 3 seconds for the sword to load back up

silver cloak
sharp lake
silver cloak
#

If you as a company make MONEY from creators then at least have some dignity and build some tools

silver cloak
#

sorry fella I am using my shield you can't hit me now!

patent quail
cold kite
#

I will be make hypixel skyblock plugin on Hytale πŸ’€ and I will sell it in $5m USD

balmy vessel
#

):

silver bronze
#

Will we have an official Dockerfile for the Hytale server when it releases? If not I suppose someone in the community will have made this in no time, but that'd be neccesary for using stuff like Pterodactyl

tropic ginkgo
#

I’ve been looking a bit into the approximate hardware requirements for dedicated Hytale servers. How many maximum players do you think most servers will have (at least at the beginning)? My guess is around 25–30.

lament steeple
#

there was a talk about this recently lemme find it

#

i think it really depends on the purpose of the server

tropic ginkgo
#

Now we need to see what hardware is needed to reach those 56 players. I really don't like that the server is Java, but it is what it is :/

silver bronze
#

I mean what are the other options? What would you have suggested other than Java πŸ˜…

lament steeple
#

servers with exploration in mind will have a lower limit of players while servers with maps/premade worlds will probably take less resources therefore a higher playerlimit

tropic ginkgo
silver bronze
#

Golang, C++ and Rust would all have made modding significantly more difficult. And I don't really see a reason why having a C# server would be a huge improvement

tropic ginkgo
#

native aot

west elk
#

AOT for software that has community moddability as a core pillar?

tropic ginkgo
#

Just because the core is AOT doesn't mean the plugins have to be too. Maybe someone needs a programming course?

silver bronze
#

Yeah don't get me wrong, I heavily prefer AOT but that's not a great idea for something that is supposed to be incredibly flexible where you can modify every single part

west elk
#

moddability doesn't just mean "having an api". It means we have the ability to easily decompile, edit, and recompile

silver bronze
#

Yeah good luck using something like Reflections with AOT compilation

west elk
#

Also, targeting the JVM rather than end-user systems is huge for development velocity. A lot of things regarding platform compatibility, memory management, tooling, etc that don't have to be invented from scratch

scarlet spoke
paper forge
#

You would get lower peak performance using 100% AOT in this environment due to servers needing to stay online for long periods. Once you warm JIT you're going to out-perform AOT long-term, especially well-optimized JIT. You can even mitigate that start times JIT produces by caching your startup processes

karmic bane
scarlet spoke
paper forge
karmic bane
#

Idk Java memory is weird. Unless with JNI, Java low level hybrid approaches I assume would be quite messy

paper forge
#

Yeah you'd have to bypass JNI and make java hydrate your memory in a custom structure C++ can read, so we can use java GC and such. We can auto grab the memory java made from C++ to use in Java OR C++ from there. Then there's the issue of concurrency when doing things like this tho

karmic bane
#

I would be surprised if someone even had the mental motivation to go through that pain xD

scarlet spoke
karmic bane
#

JNI accelerated libraries was a topic some time ago but as far as I remember, no or atleast not many such libraries are used because of equal pain

silver bronze
#

JNI isn't too difficult to use, I'm just not sure how useful it will actually be. Really depends on what is the bottleneck for some things, if there's one incredibly heavy thing then yes it could be useful. But it won't be too much of an optimisation compared to well written Java code

karmic bane
scarlet spoke
karmic bane
scarlet spoke
paper forge
# scarlet spoke "Ok Gemini, convert those files to cpp"

lmfao, i was thinking more in the lines of this: We can use java to make a raw memory object, floats, longs, blah blah. Then we can get this same data using structures and update that same memory objects in both langs, we can tag this memory per domain and time stamp it. That way concurrency is taken care of for newly made memory and we have custom tags to access it. Then we can tag this memory further by hot, warm, cold, etc states and mak a universal registry of the memory both lanuages can use.

karmic bane
scarlet spoke
paper forge
scarlet spoke
#

You can't fool the players at the end, they feel if something is entirely made by machines Hypixel_LMAO

karmic bane
#

Yeah but planning is part of making a game. It doesn't sound unsensical to me to say if one uses AI to plan out, design, benchmark, etc. a game then that game is made with AI even if not the code. I wouldn't do it or like it but I could see Steam doing that, for legal reasons alone maybe

scarlet spoke
#

Gamedesign needs to be 100% human, a story written by AI just feels so off.

karmic bane
#

True, atleast that should be the case

paper forge
silver cloak
#

Chunk pregeneration confirmed 😭

karmic bane
scarlet spoke
silver cloak
#

AI is alright if you run a basic model from your pc. But these guys have like 40% of the total electric emissions in a year

#

I think the costs are way too big for the profits

paper forge
scarlet spoke
karmic bane
# silver cloak I think the costs are way too big for the profits

Yea but its a technical evolution as basically anything. It's comparable to electric cars, you want to use them to be more environmentally responsible eventually, even if not now. And using them now already is important to the progression. Same with AI I guess. Technology like photonic processors and various other efforts to reduce power output are on their way

paper forge
scarlet spoke
#

Infrastructure is still the main problem . We got the solutions, but we humans are to slow for the modern world.
We reached a milestone where technology evolution bypassed the capabilities of humans

silver cloak
#

the US gov holds em together

paper forge
scarlet spoke
paper forge
#

If only lmao

paper forge
# silver cloak the US gov holds em together

That's another issue, the big companies are just passing around money, gov just building data centers near neighborhoods with 0 regulation. The upper half US eco would be in shambles without AI

tidal mauve
#

green laundering

paper forge
#

Government backed green laundering*

tidal mauve
#

ye theyre all in on this, these past few decades so many governments are pushing deep into corruption

#

remember times when governments were working for the betterment of the people? i wasnt alive back then yet

karmic bane
#

Just mind to keep politics out of here btw lmao

tidal mauve
#

righr

#

idk i just had it in me and let it out

paper forge
#

nah i started it a bit too my bad lol

paper forge
# silver cloak We were fine without AI bro

I use it everyday as a tool, but I feel you tho. For me, it helped a lot with my return to development and impostor syndrome from the systems I have made. Im a better developer because of it

silver cloak
karmic bane
#

For simplification reasons I always tend to say that AI is not a tool for beginners but for people who know what they're doing lmao

paper forge
paper forge
silver cloak
#

I guess its nice buying gpus 500% more

paper forge
# silver cloak Me when I am a silly little rage baiter

I accentuated it's as bad as people say it is AT TIMES, but there are reasons for it that I'm aware of. Prompts, context, your chat flow, predefined agent prompts, tools, etc, they all matter in the outcome of your prompt. This is why no one prompt will give the same response even on the same model

silver cloak
paper forge
karmic bane
#

Generative AI may get regulated here and there but that won't affect the market reasonably I'd say

silver cloak
west elk
paper forge
# silver cloak Local models is fine, but creating miles of infrastucture and ruining nature is ...

Yes, this depeneds how you to do this. The new datacenters being built in the US are no-where-near up to par with a real data center environment standards. There are data centers in other countries with net 0 emissions for entire operating years, water is not poisoned, temperature regulated before returning, and 100% renewable energy is used. When done right, a datacenter should only cost in environment tax in what it cost to get built

scarlet spoke
# paper forge Even if it does this won't stop people from running local models. And a 100% ban...

It's normal that we face disbelievers on the way down the technology road.
When the first cars were driving on the road, people with carriages said that they don't have power to pull loads of goods.
When electricity was commonly used in public, the inventors of the pneumatic clocks in Paris said that the system will fail to many times.

We are at the beginning of AI, not at the end or even near middle of it

paper forge
silver cloak
#

I am not arguing about the AI philosophy. But we have been victims of the industrial revolution's polution. We know better than this

paper forge
silver cloak
#

Thankfully I am not American so I don't have to worry about random billionaires deciding to ruin my continent

paper forge
#

Where do you live?

scarlet spoke
silver cloak
#

That's def not America 😭

paper forge
scarlet spoke
#

So the plan is, to make faster development which leads more to energy efficiency until we meet the break-even point where we don't need more energy for ourself.
This point is WAY far in the future. Maybe in 1000 years we got reliable fusion energy which MAY fulfill our demands
Our globally energy production already could fulfill our current needs, which will lead to more energy consumption.
Currently we invest trillions into infrastructure just for consuming more energy πŸ˜„

loud raft
loud raft
tidal mauve
loud raft
fleet isle
#

Slikey shared a screenshot of the config for pregen on Twitter and in it, you can clearly see that X and Y is used for horizontal plane and therefore Z has to be vertical... welp, that's going to confuse my brain for a little while.

Source: xcancel(.)com/slikey/status/2001032986695811152#m

tidal mauve
#

wasnt that confirmed on some map screenshot a while ago?

fleet isle
#

I must have missed that screenshot cause this was the first time I learnt that information

woeful finch
#

Minecraft is kind of the outlier when it comes to using y for its vertical axis

steep nova
#

Hi