เว็บไซต์เซิร์ฟ
เขียนหน้าเว็บของเซิร์ฟเองด้วย HTML หรือ React พร้อมข้อมูลเซิร์ฟสด
<ซับโดเมน>.mcsv.me — เขียนเองได้เต็มที่ทั้ง HTML/CSS/JS หรือ React (TSX) ทำได้หลายหน้า ตั้ง URL เอง และดึงข้อมูลสดของเซิร์ฟ (จำนวนผู้เล่น สถานะ ที่อยู่เข้าเกม) มาโชว์ได้เลยเขียนโค้ดเองทั้งหน้า
หลายหน้า ตั้ง URL เอง
/ หน้าแรก · /rules กติกา · /404 หน้าไม่พบ · แยกไฟล์ /style.css ใช้ร่วมกันได้ข้อมูลเซิร์ฟสด
{{ players }} หรือใช้ useServer() ใน React ระบบเติมค่าจริงให้ทุกครั้งที่มีคนเปิดหน้าย้อนกลับได้เสมอ
- ที่อยู่หน้าเว็บ
<ซับโดเมน>.mcsv.me— ต้องตั้งซับโดเมนที่เมนู โดเมน ก่อน ถึงจะมี URL ให้เปิด- เมนู
- หน้าเซิร์ฟ → เว็บไซต์ (
/server-detail/<id>/site) · ต้องมีสิทธิ์settings_editถึงจะแก้ได้ - ขีดจำกัด
- 50 หน้า/ไฟล์ ต่อเซิร์ฟ · โค้ดต่อหน้าไม่เกิน 512KB · path ซ้อนได้ไม่เกิน 6 ชั้น
เริ่มยังไง
ตั้งซับโดเมนก่อน
mcsv.me เช่น myserverหน้าเว็บจะอยู่ที่ myserver.mcsv.me ทันทีเลือกเทมเพลตตั้งต้น
/ ให้เลย ทุกเทมเพลตมีทั้งเวอร์ชัน HTML และ React สลับดูได้ก่อนใช้แก้โค้ดในตัวแก้ไข
เพิ่มหน้า/ไฟล์ตามต้องการ
.css, .js) จะถูกเสิร์ฟเป็นไฟล์ ส่วนชื่อที่ไม่มีนามสกุลคือหน้าเว็บเปิดเว็บ
ตั้งชื่อหน้าและไฟล์
- / · หน้าแรก — คนเปิดโดเมนแล้วเจออันนี้
- /rules · /shop/vip · หน้าอื่น ๆ ซ้อนโฟลเดอร์ได้ถึง 6 ชั้น
- /404 · หน้าที่ขึ้นเมื่อหา URL ไม่เจอ — ทำเองได้ ถ้าไม่ทำระบบมีหน้า 404 มาตรฐานให้
- /style.css · /script.js · มีนามสกุล = เสิร์ฟเป็นไฟล์ ใช้ร่วมกันหลายหน้าได้
- กติกาชื่อ · ใช้ได้เฉพาะ
a-z0-9-_.และ/· ตัวพิมพ์ใหญ่ถูกแปลงเป็นเล็กให้ · ภาษาไทยใช้ไม่ได้ · path ที่ขึ้นต้นด้วย/_site/_preview/api/สงวนไว้ให้ระบบ
แยก CSS/JS ออกเป็นไฟล์ — สร้างหน้า /style.css แล้วอ้างจากหน้า HTML:
<link rel="stylesheet" href="/style.css">
<script src="/script.js" defer></script>ถ้าเขียน React ใส่ import './style.css' ได้เลย ระบบดึงออกมาแปลงเป็น<link> ให้เอง · อยากเขียนโมดูลแยกก็สร้างไฟล์ /util.js แบบ React แล้ว import { x } from '/util.js' จากหน้าอื่น
ใส่ข้อมูลสดของเซิร์ฟ
อย่าพิมพ์จำนวนผู้เล่นหรือไอพีเป็นค่าตายตัว ใช้ตัวแปรแทน ระบบเติมค่าจริงให้ทุกครั้งที่มีคนเปิดหน้า (ใช้ในไฟล์ CSS/JS ได้ด้วย) · ชื่อที่ระบบไม่รู้จักจะถูกทิ้งไว้ตามเดิม จะได้เห็นเองว่าพิมพ์ผิด
<p>ผู้เล่น {{ players }}/{{ max_players }} · ไอพี {{ address }}</p>| ตัวแปร | ค่าที่ได้ |
|---|---|
{{ name }} | ชื่อเซิร์ฟ |
{{ address }} | ที่อยู่เข้าเกม (โฮสต์:พอร์ต) |
{{ host }} | โฮสต์ |
{{ port }} | พอร์ต |
{{ status }} | running / offline |
{{ online }} | online / offline |
{{ players }} | จำนวนผู้เล่นตอนนี้ |
{{ max_players }} | ผู้เล่นสูงสุด |
{{ version }} | เวอร์ชันเซิร์ฟ |
{{ game }} | เกม |
{{ type }} | ชนิดเซิร์ฟ เช่น paper |
{{ motd }} | MOTD |
{{ icon }} | URL ไอคอนเซิร์ฟ |
useServer()ซึ่งดึงค่าใหม่ให้เองเป็นระยะขณะเปิดหน้าค้างไว้ (หยุดเองเมื่อผู้ใช้สลับแท็บ)เขียนแบบ React
เลือกชนิดหน้าเป็น React แล้วเขียน TSX ได้เลย ระบบคอมไพล์ตอนบันทึก · หน้า React ต้องมีexport default function เสมอ
import { useServer } from 'mcsv'
import styled from 'styled-components'
const Big = styled.h1`font-size: 3rem;`
export default function Page() {
const { server } = useServer()
return <Big>{server.players}/{server.max_players} กำลังเล่น</Big>
}ไลบรารีที่ import ได้เลย (มีให้แล้ว ไม่ต้องติดตั้ง):
react | useState, useEffect, ... |
react-dom/client | createRoot |
mcsv | useServer, getServer, fetchServer — ข้อมูลเซิร์ฟสด |
styled-components | styled, createGlobalStyle, keyframes |
framer-motion | อนิเมชัน motion.div, AnimatePresence |
axios | เรียก API ภายนอก |
lodash | ฟังก์ชันช่วยทั่วไป |
clsx | รวม class แบบมีเงื่อนไข |
dayjs | วันที่/เวลา นับถอยหลัง |
canvas-confetti | เอฟเฟกต์กระดาษโปรย |
marked | แปลง Markdown เป็น HTML |
- Tailwind · เปิดสวิตช์ Tailwind ที่แถบบนของหน้านั้น แล้วใช้ class ได้เลย (เปิดแยกเป็นรายหน้า)
- CSS reset · ระบบใส่ให้แล้ว ไม่ต้องเขียนเอง หน้าจึงไม่มีขอบขาวรอบ ๆ
- ไม่มี npm · import ได้เฉพาะรายชื่อข้างบน · คอมไพล์ไม่ผ่านก็ยังบันทึกได้ ระบบโชว์ error ไว้ให้แก้ แต่ระหว่างนั้นคนที่เปิดหน้าจะเห็นหน้าแจ้ง error แทนเนื้อหา — ถ้ายังแก้ไม่เสร็จให้กดซ่อนหน้านั้นไว้ก่อน
ตัวช่วย
เทมเพลต
ให้ AI ช่วย
คลังรูป
พรีวิวของจริง
.css/.js พรีวิวผ่านหน้าที่เรียกใช้มันกันพลาด
- ประวัติเวอร์ชัน · ทุกครั้งที่หน้าถูกเขียนทับ (รวมตอน AI แก้หรือใช้เทมเพลต) ระบบเก็บของเดิมไว้ให้ สูงสุด 200 เวอร์ชันต่อหน้า กดปุ่มรูปนาฬิกาเพื่อดูโค้ดเก่าและกดใช้เวอร์ชันนั้น · ย้อนแล้วย้อนกลับได้อีก เพราะระบบเก็บของปัจจุบันไว้ก่อนเสมอ
- ซ่อนหน้าไว้ก่อน · ปุ่มติ๊กถูกข้างชื่อหน้า = เผยแพร่/ซ่อน · เขียนหน้าใหม่ค้างไว้โดยไม่ให้คนนอกเห็นได้
- ปิดทั้งเว็บ · สลับสวิตช์ "หน้าเว็บ" เป็นปิด ผู้เยี่ยมชมจะเห็น 404 ทันที เหมาะตอนกำลังรื้อใหญ่
- ลบหน้า · ต้องกดยืนยันทุกครั้ง และของที่ลบยังตามกลับมาจากประวัติเวอร์ชันได้
คำถามที่พบบ่อย
อยากให้คนหาเซิร์ฟเจอด้วย เปิดหน้าเซิร์ฟสาธารณะเพิ่มได้ที่ รายชื่อเซิร์ฟสาธารณะ · ตั้งซับโดเมนที่ โดเมน