Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

62 total results found

Starting and Stopping

ZyveraWeb Web Server

The web server lifecycle can be managed both automatically (plugin startup/shutdown) and manually (in-game commands). Automatic Lifecycle Event Server Action Plugin enable Web server starts automatically after config validation Plugin disable Web serv...

Static File Hosting

ZyveraWeb Web Server

The FileHandler serves static files from a configured root directory. This is the most common use case for hosting websites. Configuration A static site is defined in config.yml with the dir: key: sites: - domain: "example.com" dir: "site/main-site" The...

Reverse Proxy

ZyveraWeb Web Server

The reverse proxy handler forwards incoming HTTP requests to an upstream server. This is useful for integrating external web applications hosted on the same machine or network. Configuration sites: - domain: "api.example.com" proxy: "http://localhost:300...

Virtual Hosting

ZyveraWeb Web Server

The virtual host handler is the router that sits in front of all site-specific handlers. It matches incoming requests to the appropriate handler based on the Host header. Matching Logic Request → Extract Host header | Domain + Port (ho...

HTTP vs HTTPS

ZyveraWeb Web Server

ZyveraWeb supports both plain HTTP and encrypted HTTPS. HTTPS is enabled per-site rather than with a global toggle. HTTP Server No encryption overhead Configured with a fixed thread pool Binds to the configured host:port when no site has SSL HTTPS Server En...

Node.js Runtime

ZyveraWeb

Overview

ZyveraWeb Node.js Runtime

ZyveraWeb can run server-side JavaScript directly inside the JVM using GraalVM Polyglot (GraalJS). No external Node.js binary is required. How It Works The plugin creates a JavaScript runtime for each Node.js project. JavaScript files are evaluated within this...

Project Structure

ZyveraWeb Node.js Runtime

A Node.js project in ZyveraWeb follows a specific directory layout. Directory Layout plugins/ZyveraWeb/site/<project-name>/ ├── server.js # Backend handler (JavaScript) ├── public/ # Static frontend files │ ├── index.html │ ├── style....

server.js API

ZyveraWeb Node.js Runtime

The server.js file is the backend entry point for a Node.js project. It must define a global handleRequest function. The request Object The function receives a request object with these properties: Property Type Description request.method string HTTP me...

NPM Packages

ZyveraWeb Node.js Runtime

ZyveraWeb includes a pure-JVM npm client that can download and install npm packages without requiring Node.js or shell access. How Package Installation Works The plugin reads package.json from each Node.js project. It fetches package metadata from https://reg...

React and SSR

ZyveraWeb Node.js Runtime

ZyveraWeb supports React applications in two modes: 1. Single Page Application (SPA) Build your React app with Vite, Create React App, or any bundler, and place the output in public/. Project structure: plugins/ZyveraWeb/site/react-app/ ├── public/ │ ├── ind...

Example Projects

ZyveraWeb Node.js Runtime

ZyveraWeb creates two example Node.js projects on first run to help you get started. Demo Project Location: plugins/ZyveraWeb/site/demo/ A simple API backend with a vanilla JavaScript frontend. Frontend (public/) A basic HTML page with buttons to call the API ...

SSL ACME

ZyveraWeb

Automatic SSL

ZyveraWeb SSL ACME

ZyveraWeb includes a built-in ACME v2 client that can obtain free SSL certificates from Let's Encrypt automatically. Overview The ACME (Automatic Certificate Management Environment) protocol allows automatic certificate issuance and renewal. ZyveraWeb supports...

HTTP Challenge

ZyveraWeb SSL ACME

The HTTP-01 challenge is the simplest way to validate domain ownership. Let's Encrypt makes an HTTP request to http://<your-domain>/.well-known/acme-challenge/<token> and checks for a specific response. Requirements The web server must be accessible on port 8...

DNS Challenge

ZyveraWeb SSL ACME

The DNS-01 challenge validates domain ownership by requiring you to add a specific DNS TXT record. This method works even if your server is not publicly accessible on port 80. When to Use DNS-01 Your server is behind a NAT or firewall Port 80 is already in us...

Manual SSL

ZyveraWeb SSL ACME

If you prefer not to use Let's Encrypt, or if you have an existing certificate, you can configure SSL manually. Step 1: Obtain a Certificate You can use: A certificate from a commercial CA (DigiCert, Sectigo, etc.) A self-signed certificate (for testing only)...

API Endpoints

ZyveraWeb