Terraria (terraria-wasm / Terrarium)
Terraria
Sobre el proyecto
Terraria es un videojuego de acción-aventura y de mundo abierto producido por el estudio Re-Logic. Se caracteriza por la exploración, la elaboración de objetos, construcción de estructuras, y el combate. Actualmente se encuentra en la versión 1.4.5.8.
2 versiones de Terraria
Estás viendo: Terraria (terraria-wasm / Terrarium)
Información oficial del proyecto
Terrarium
A port of Terraria to the browser using WebAssembly and fna-wasm-threads
Read the writeup for more information on how this works.
I want to host this on my website
Go to the releases page and download the latest release. Extract the contents of terraria-wasm-build.zip to your web server. Cross site isolation headers are required for this to work, so make sure your web server is configured to send the following headers:
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
I want to build this
Prerequisites
- A x86_64 Linux system
- dotnet 9.0.4
- the mono-devel package on your distro
- node and pnpm
- Terraria (Linux or Windows build)
- ilspycmd (SPECIFICALLY VERSION 9.0.0.7889) it's recommended to install ilspycmd using the .NET CLI
dotnet tool install --global ilspycmd --version 9.0.0.7889
Building
- Clone the repository (make sure you use --recursive!!)
- Decompile Terraria
bash tools/decompile.sh ~/.local/share/Steam/steamapps/common/Terraria/Terraria.exe
- Patch Terraria
bash tools/copydecompiled.sh
bash tools/applypatches.sh Vanilla
- Build the project
make serve
To build the frontend for production, run:
make publish
<!--
To build with simple download (where the game assets are downloaded from the server)
```
VITE_SIMPLE_DOWNLOAD=true VITE_SIMPLE_DOWNLOAD_FILE=/terraria-wasm.tar make publish
```
and create a tar of the game assets, then put terraria-wasm.tar in `public/` (not static/, static refers to archive files)
Do not publicly host the game assets without permission from Re-Logic. This is for personal use only. -->
I want to add mods
Right now performance is not good enough in dotnet interpreted/jiterpreter mode, which is required for the MonoMod WASM port to function. Eventually it might be possible with improvements to the dotnet wasm jit or a "mixed aot" mode allowing for better FNA performance, but for now it isn't feasible
