Skip to content

Latest commit

 

History

History
160 lines (109 loc) · 5.59 KB

File metadata and controls

160 lines (109 loc) · 5.59 KB
EndlessPixel

EndlessPixel Web

Official website of EndlessPixel Server — a one-stop portal for downloads, profiles, status and smart Q&A.

Next.js TypeScript Tailwind CSS License

English | 简体中文


📖 About

EndlessPixel Web is the official site of a Java Edition Minecraft server, built on the Next.js 16 App Router.

It is not a simple landing page — it is a service portal designed around what players actually need:

  • New here and wondering how to join? Ask the AI assistant instead of digging through docs.
  • Want to see your skin? Preview it in 3D, no client required.
  • Looking for a launcher or mod-pack? 80+ resources with fast downloads.
  • Is the server up? Real-time status at a glance.
  • Signed in? Manage your profile info and skin in one place.

⚠️ Edition policy: the server supports Java Edition only (including mobile Java launchers such as POjavLauncher). Not supported: Bedrock Edition and web/browser clients.


✨ Features

Feature Description Doc
🤖 AI Assistant Streaming Q&A with server context and knowledge base injected; can embed interactive cards (QQ group, server info) in replies ai-assistant.md
🧍 3D Skin Preview WebGL rendering of skins & capes (skinview3d); same-origin proxy with multi-level fallback — never a blank screen skin-preview.md
📦 Launcher Downloads 80+ launchers and mod-packs in clear categories; built-in mirror acceleration and custom mirror support downloads.md
👤 Profile Two-column on desktop (info left / skin right), single column on mobile; HMAC session auth profile.md
📡 Server Status Online state, player count, version and latency probe; loads on open, manual force refresh supported server-status.md

Also included: fully responsive layout (phone / tablet / desktop), dark mode, PWA offline support, and safe in-site link redirection.


🛠 Tech Stack

Category Technology
Framework Next.js 16 (App Router, SSR / SSG / ISR, Turbopack)
Language TypeScript 5 (strict mode)
Styling Tailwind CSS 4 (utility-first, dark mode out of the box)
3D skinview3d (WebGL skin rendering)
Quality ESLint + Prettier
Misc PWA (Workbox), HMAC session cookies

🚀 Quick Start

Prerequisites

  • Node.js ≥ 18
  • npm ≥ 9

Run Locally

# Clone the repo
git clone https://github.com/EndlessPixel/server.git
cd server

# Install dependencies
npm install

# Start the dev server (HTTP)
npm run dev

Visit http://localhost:3000.

When HTTPS is required (e.g. debugging PWA or secure cookies):

npm run dev-https

Then visit https://localhost:3000.

Available Scripts

Command Description
npm run dev Start the development server
npm run dev-https Start the dev server over HTTPS
npm run build Production build
npm start Run the production build
npm run lint ESLint check (zero warnings)
npm run lint:fix Auto-fix lint issues
npm run format Format source with Prettier (incl. Tailwind class sorting)
npm run format:check Check formatting compliance

📚 Documentation

Doc Contents
Features Overview Module overview, tech stack, local run
AI Assistant Streaming, <thinking> reasoning, card rendering, link safety
Skin Preview /api/skin proxy, fallback chain, skin-source notes
Launcher Downloads Categories, mirror acceleration, edition policy
Profile Two-column layout, session security, legacy migration
Server Status Status polling, degradation, API integration

🤝 Contributing

Issues and Pull Requests are welcome.

  1. Fork this repository
  2. Create a feature branch: git checkout -b feat/xxx
  3. Commit following Conventional Commits: git commit -m "feat: add xxx"
  4. Push the branch and open a Pull Request
  5. Merge once CI passes and code review is done

Before committing, run:

npm run lint
npm run build

See CONTRIBUTING.md for full guidelines.


📄 License

This project is licensed under GNU AGPL v3.0.

Commercial use, modification and redistribution are allowed, but modified network services must be open-sourced as well.


💬 Get in Touch


Star ⭐ and Watch 👀 are the best supports for us!