https://creack.github.io/corewar
go run go.creack.net/corewar/vm@latest
# Or simply
go run ./vm# Without Docker
env -i HOME=${HOME} PATH=${PATH} go tool wasmserve ./vm
# With Docker
makeClone this repo:
git clone https://github.com/creack/corewar
cd corewarRun:
env -i HOME=${HOME} PATH=${PATH} go tool wasmserve ./vmFor development, wasmer exposes an endpoint to do live reload.
I recommend reflex.
With wasmer running, run:
go tool reflex curl -v http://localhost:8080/_notifyA Dockerfile is provided to build and run the WASM version.
docker build -t corewar .To run the image, make sure to have:
--rmto avoid pollution-itso the app receives signals-pto expose the port 8080
Any changes to the code will require to re-build the image.
docker run --rm -p 8080:8080 -it corewar wasmserve .You can then access the WASM page at the Docker ip on port 8080. If in doubt about the IP, it is likely localhost.
For development, you can add -v $(pwd):/app to mount the local directory in the Docker container, the server will hot-reload when file changes.
docker run --rm -p 8080:8080 -it -v $(pwd):/app corewar