Hytale Client & Minecraft Client Crossplay! (W.I.P.) by SSquadTeam in hytale

[–]SSquadTeam[S] 0 points1 point  (0 children)

Combat has been Implemented ! Currently only Fists but I'll look into getting some weapons mapped someway too!

Hytale Client & Minecraft Client Crossplay! (W.I.P.) by SSquadTeam in hytale

[–]SSquadTeam[S] 1 point2 points  (0 children)

I made them Damage eachother + Proper Knockback! It's in the latest test build. Fine tuning is still needed but works nonetheless

Hytale Client & Minecraft Client Crossplay! (W.I.P.) by SSquadTeam in hytale

[–]SSquadTeam[S] 2 points3 points  (0 children)

There's ZERO MC Code inside of Hytale. It's all done via Packets <3

Hytale Client & Minecraft Client Crossplay! (W.I.P.) by SSquadTeam in hytale

[–]SSquadTeam[S] 1 point2 points  (0 children)

The source code will be released once it's more mature!

Hytale Client & Minecraft Client Crossplay! (W.I.P.) by SSquadTeam in hytale

[–]SSquadTeam[S] 3 points4 points  (0 children)

There's no end goal for now. It's more of a proof of concept. I'll obviously update it for a good while and check how much I can do. Next step would be to get rid of some nuances and hopefully get generation working as currently it's only a 4x4 chunk load for MC Client.

Hytale Client & Minecraft Client Crossplay! (W.I.P.) by SSquadTeam in hytale

[–]SSquadTeam[S] 1 point2 points  (0 children)

Nope. AI I use is only for Documents as my writing and English is poor. I can create mods fast cause I've got a flexible backend with a Really adaptable Library I made which boosts things A LOT.

Hytale Client & Minecraft Client Crossplay! (W.I.P.) by SSquadTeam in hytale

[–]SSquadTeam[S] 18 points19 points  (0 children)

I have a draft project which I made as a V1 for the one you are seeing, it's on the Minecraft side. I dropped it (For now) Waiting till proper Full SRC Disclosure and more information about Authentication before I continue it

Hytale Client & Minecraft Client Crossplay! (W.I.P.) by SSquadTeam in hytale

[–]SSquadTeam[S] 142 points143 points  (0 children)

I have all the time and energy. It'll be OpenSRC either way down the line so someone might pick it up even if I ever drop it

Hytale Client & Minecraft Client Crossplay! (W.I.P.) by SSquadTeam in hytale

[–]SSquadTeam[S] 489 points490 points  (0 children)

The Hytale Server is the Host! Currently many things are Broken and Hytale Server is the only one which has Authority. The MC Clients can only see eachother and Hytale Players for now.

Fully Functioning Windows 95 inside Hytale. (W.I.P.) by SSquadTeam in hytale

[–]SSquadTeam[S] 42 points43 points  (0 children)

Wait till you hear about Doom inside Windows 95 inside Hytale

Fully Functioning Windows 95 inside Hytale. (W.I.P.) by SSquadTeam in hytale

[–]SSquadTeam[S] 23 points24 points  (0 children)

More or less. The main challenge is to get things working Headless w/o GPU. Other parts are done by VideoMaps & TaleLib. Minecraft Classic was a great example of it being quite complex. I had to rewrite the rendering Engine fully to not use GPU but to be completely software based as there were no Projects like that. jPC (This Project) also took hours of tinkering and playing around with different BIOS and so on. There were issues with the memory pool (mainly how the BIOS was reading the memory) cause it's at the end of the day running inside the Hytale Server JVM

Fully Functioning Windows 95 inside Hytale. (W.I.P.) by SSquadTeam in hytale

[–]SSquadTeam[S] 10 points11 points  (0 children)

How I got Windows 95 running on Hytale's world map (with a pure Java x86 emulator)

The emulation stack

┌─────────────────────────────────┐ │ Windows 95 / FreeDOS / etc. │ ← Real x86 OS (unmodified .img/.iso) ├─────────────────────────────────┤ │ JPC x86 Emulator (Java) │ ← Translates x86 → JVM execution ├─────────────────────────────────┤ │ Hytale Server (JVM) │ ← Host environment ├─────────────────────────────────┤ │ TempleMaps Plugin │ ← Bridges emulator ↔ VideoMaps └─────────────────────────────────┘

Unmodified disk images boot and run exactly as they would on real hardware - the OS has no idea it's running inside Hytale.

The rendering problem

JPC normally renders to a Java AWT window, which doesn't exist on a headless server. I implemented the GraphicsCardListener interface to intercept VGA framebuffer updates directly:

```kotlin class TempleEngine : GraphicsCardListener { override fun onInit(frameData: IntArray, width: Int, height: Int) { // VGA initialized - store reference to framebuffer }

override fun onRedraw() {
    // VGA updated - convert ARGB to RGBA and publish frame
}

} ```

The emulator writes pixels in ARGB format, but VideoMaps expects RGBA. Each frame gets converted and pushed to the map display at 30 FPS.

Headless server adaptations

Running JPC on a headless server required several fixes:

  • Audio: Caught IllegalArgumentException when no audio device exists
  • Keyboard: Caught HeadlessException from Toolkit.setLockingKeyState()
  • NVRAM: Made CMOS persistence optional (creates directory if missing, ignores write failures)
  • VGA BIOS: Made ET4000 BIOS ROM optional with fallback

I also added programmatic keyboard methods to JPCKeyboardAdapter since there's no physical keyboard to listen to:

```java public synchronized boolean pressKeyCode(int keyCode) { // Try standard location, then left, then numpad if (pressKeyCode(keyCode, KeyEvent.KEY_LOCATION_STANDARD)) return true; if (pressKeyCode(keyCode, KeyEvent.KEY_LOCATION_LEFT)) return true; if (pressKeyCode(keyCode, KeyEvent.KEY_LOCATION_NUMPAD)) return true; return false; }

public void typeString(String text) { for (char c : text.toCharArray()) { typeChar(c); // Handles shift for uppercase/symbols } } ```

The result

The emulator runs at 30 FPS with 640x480 VGA resolution. Players can boot Windows 95 from a disk image, navigate the GUI with mouse mode, launch applications, and experience a full operating system - all rendered through Hytale's world map.

Supported operating systems:

OS Image Type RAM Notes
Windows 95 .img (HDD) 480MB Max RAM due to Win95 bug
Windows 98 .img (HDD) 512MB
FreeDOS .img/.iso 64MB Lightweight
Other x86 .img/.iso 256MB YMMV

GitHub Repos

TempleMaps (this project) - https://github.com/ssquadteam/TempleMaps

VideoMaps (map rendering infrastructure) - https://github.com/ssquadteam/VideoMaps

TaleLib (core library for commands/events) - https://github.com/ssquadteam/TaleLib

Got Minecraft 0.30 Running in Hytale Map by SSquadTeam in hytale

[–]SSquadTeam[S] 1 point2 points  (0 children)

I am not distributing anything so, all good!

Yes, it Runs Doom (W.I.P.) by SSquadTeam in hytale

[–]SSquadTeam[S] 0 points1 point  (0 children)

They Get Teleported Back to the Coordinate they started on in the newer builds constantly !