diff --git a/README.md b/README.md new file mode 100644 index 0000000..6f2867e --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# Language / 语言 + +### [English](README/README_en.md) + +### [中文](README/README_zh.md) + +--- + +# Contributors / 贡献者 + +| Language/Website | Contributor | +| ------------- | -------------------------------------------------- | +| **English** | [cssfw](https://github.com/cssfw/) | +| **Chinese** | [cssfw](https://github.com/cssfw/) | +| **Website code** | [Gmodload](https://gmodload.com/) | diff --git a/README/Features_en.md b/README/Features_en.md new file mode 100644 index 0000000..b44f9a7 --- /dev/null +++ b/README/Features_en.md @@ -0,0 +1,16 @@ +## Features +#### Automatically Play Background Music Randomly +TMGSL includes a built-in PHP script that automatically plays background music at random. Simply place your desired music files (mp3/ogg/wav formats) into the **music** folder. + +#### Automatically Detect Server Gamemode, Max Players, and Map +TMGSL can automatically identify the server's gamemode, maximum number of players, and current map, displaying them in the "Info" section on the far right. + +## Index.html Configuration +#### Basic Functions +The main configuration of the webpage is located in the `body` section of **Index.html**. +> You can refer to the comments within to modify it accordingly. + +## music.php Configuration +#### Basic Functions +**music.php** contains the configuration for the content and reading of the music folder. +> You can refer to the comments within to modify it accordingly. \ No newline at end of file diff --git a/README/Features_zh.md b/README/Features_zh.md new file mode 100644 index 0000000..d1bedac --- /dev/null +++ b/README/Features_zh.md @@ -0,0 +1,16 @@ +## 功能 +#### 自动随机播放背景音乐 +TMGSL里面自带一个自动随机播放背景音乐的PHP脚本,只需要把你想要的音乐文件(mp3/ogg/wav格式)放入文件夹中的**music**文件夹 + +#### 自动识别服务器模式,最大人数,地图 +TMGSL可以自动识别服务器模式,最大人数,地图并显示在最右侧“信息”一栏 + +## Index.html配置 +#### 基本功能 +在**Index.html**的`body`一栏中,有网页的主要配置 +> 可自行查阅其中注释来配合修改 + +## music.php配置 +#### 基本功能 +在**music.php**中有配置音乐文件夹的内容与读取 +> 可自行查阅其中注释来配合修改 \ No newline at end of file diff --git a/README/README_en.md b/README/README_en.md new file mode 100644 index 0000000..226031f --- /dev/null +++ b/README/README_en.md @@ -0,0 +1,28 @@ +# The MINT Gmod Server Loader (TMGSL) +# Introduction +**TMGSL** is the loading page for the MINT server in the game Gmod. Based on the template from [Gmodload](https://physgun.com/gmodload/). + +# Usage +Please follow the steps below to install this plugin: + +1. Go to the [Releases page](https://github.com/MeowServer/HintServiceMeow/releases) and download the latest `TMGSL.tar.gz` file. +2. If PHP is already installed on the server, place it directly into the web directory; if not, refer to the [PHP installation documentation](https://www.php.net/manual/zh/install.general.php). +3. Paste these files into the web directory folder, then restart Nginx/Apache to complete the installation. + +# Documentation +Here are some useful resources to help you get started quickly: +- [Feature Configuration](Features_en.md) +- [Web Server Installation (LINUX)](https://cloud.tencent.com/developer/article/2605046) +- [Web Server Installation (WINDOWS)](https://old.xp.cn/phpstudy-v8/) +- [PHP Documentation](https://www.php.net/manual/zh/index.php) + +# Frequently Asked Questions + +### 1. Why does it not work after placing it in the web directory? +- Ensure that **TMGSL** is installed correctly. +- Check whether the **PHP** plugin is enabled. +- Verify whether the web server (Nginx/Apache) has been restarted. + +### 2. Why is there no background music? +- Because modern browsers block autoplay by default, but it works within the GMOD game. +- If background music cannot be played in GMOD, it may be due to a low version of the **PHP** plugin; consider using PHP version 7.3 or higher. \ No newline at end of file diff --git a/README/README_zh.md b/README/README_zh.md new file mode 100644 index 0000000..55c0970 --- /dev/null +++ b/README/README_zh.md @@ -0,0 +1,30 @@ +# The MINT Gmod Server Loader(TMGSL) +# 简介 +**TMGSL** 是gmod这款游戏中MINT服务器的加载页面。基于[Gmodload](https://physgun.com/gmodload/)中的模板 + +# 使用 + +请按照以下步骤安装该插件: + +1. 进入 [发行页面](https://github.com/MeowServer/HintServiceMeow/releases),下载最新的 `TMGSL.tar.gz` 文件。 +2. 如果服务器已经安装了PHP,则直接放入Web目录,如果没有参考[PHP安装文档](https://www.php.net/manual/zh/install.general.php) +3. 将这些文件粘贴到WEB目录文件夹中,然后重启Nginx/Apache完成安装。 + +# 文档 + +以下是一些有用的资源,帮助您快速上手: +- [功能配置](Features_zh.md) +- [WEB服务器安装(LINUX)](https://cloud.tencent.com/developer/article/2605046) +- [WEB服务器安装(WINDOWS)](https://old.xp.cn/phpstudy-v8/) +- [PHP文档](https://www.php.net/manual/zh/index.php) + +# 常见问题 + +### 1. 为什么放入WEB目录后没有工作? +- 请确保 **TMGSL** 已正确安装。 +- 检查是否有启动 **PHP** 插件。 +- 查看是否有重启WEB服务器(Nginx/Apache)。 + +### 2. 为什么没有背景音乐? +- 因为现代浏览器默认禁止自动播放音乐,但是GMOD游戏内可以 +- 如果GMOD游戏内无法播放背景音乐,可能是 **PHP** 插件版本过低,考虑使用PHP7.3以上版本 \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..53b12b6 --- /dev/null +++ b/index.html @@ -0,0 +1,1575 @@ + + + + 服务器加载界面 | 基于GmodLoad + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+

[CN]Legacy Breach-MINT

薄荷服务器

+

You are now joining

+
+
+
+ +
+
+
+

关于我们

+
+
+
+

MINT薄荷服务器是一个以玩家游戏体验为中心的GMODSCP服务器我们深知每一位玩家都是由萌新转变过来的所以我们的宗旨是耐心培养 陪伴每一位萌新

+
+
+
+
+ +
+
+
+

服务器群聊

+
+
+
+

QQ群1073757338,这边建议加群,以便获取最新的更新公告与规则变动

+
+
+
+
+ +
+
+
+

服务器主要成员

+
+
+
+ Pulpit rock𝓓𝓡.𝓒𝓪𝓻𝓽𝓮𝓻(服主+技术)

+ Pulpit rock青圭Небо没有パーティ(副服主)

+ Pulpit rock轻风(服务器大赞助)

+
+
+
+
+ + + + + + +
+
+
+

now playing

+
+
+
+

+

+
+
+
+
+ + +
+
+
+

map

+
+
+
+ +
+
+
+
+ + +
+
+
+

信息

+
+
+
+

+

max players

+

+

+
+
+
+
+ + +
+
+
+

progress

+
+
+
+

+
+
+
+
+ +
+
+

+
+
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/music.php b/music.php new file mode 100644 index 0000000..1edfde7 --- /dev/null +++ b/music.php @@ -0,0 +1,46 @@ + 'audio/mpeg', + 'ogg' => 'audio/ogg', + 'wav' => 'audio/wav' + ]; + + $contentType = $mimeTypes[$extension] ?? 'audio/mpeg'; + header('Content-Type: ' . $contentType); + + // 输出文件 + readfile($randomMusic); +} else { + // 没有音频文件时返回静音音频 + header('Content-Type: audio/mpeg'); + // 这里可以返回一个静音的MP3文件 + // 或者输出错误信息 + echo 'No music files found'; +} +?> \ No newline at end of file diff --git a/static/css/css2.css b/static/css/css2.css new file mode 100644 index 0000000..7c3d7eb --- /dev/null +++ b/static/css/css2.css @@ -0,0 +1,288 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXclJURRD.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcBJURRD.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXchJURRD.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcdJURRD.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* kayah-li */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXYxJURRD.woff2) format('woff2'); + unicode-range: U+200C-200D, U+2010, U+25CC, U+A900-A92F; +} +/* vietnamese */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXctJURRD.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcpJURRD.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcRJUQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXclJURRD.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcBJURRD.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXchJURRD.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcdJURRD.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* kayah-li */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXYxJURRD.woff2) format('woff2'); + unicode-range: U+200C-200D, U+2010, U+25CC, U+A900-A92F; +} +/* vietnamese */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXctJURRD.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcpJURRD.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcRJUQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXclJURRD.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcBJURRD.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXchJURRD.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcdJURRD.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* kayah-li */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXYxJURRD.woff2) format('woff2'); + unicode-range: U+200C-200D, U+2010, U+25CC, U+A900-A92F; +} +/* vietnamese */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXctJURRD.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcpJURRD.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcRJUQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXclJURRD.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcBJURRD.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXchJURRD.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcdJURRD.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* kayah-li */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXYxJURRD.woff2) format('woff2'); + unicode-range: U+200C-200D, U+2010, U+25CC, U+A900-A92F; +} +/* vietnamese */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXctJURRD.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcpJURRD.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Jura'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../font/z7NbdRfiaC4VXcRJUQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/static/font/z7NbdRfiaC4VXYxJURRD.woff2 b/static/font/z7NbdRfiaC4VXYxJURRD.woff2 new file mode 100644 index 0000000..4997ba4 Binary files /dev/null and b/static/font/z7NbdRfiaC4VXYxJURRD.woff2 differ diff --git a/static/font/z7NbdRfiaC4VXcBJURRD.woff2 b/static/font/z7NbdRfiaC4VXcBJURRD.woff2 new file mode 100644 index 0000000..fa4be0d Binary files /dev/null and b/static/font/z7NbdRfiaC4VXcBJURRD.woff2 differ diff --git a/static/font/z7NbdRfiaC4VXcRJUQ.woff2 b/static/font/z7NbdRfiaC4VXcRJUQ.woff2 new file mode 100644 index 0000000..2ffb161 Binary files /dev/null and b/static/font/z7NbdRfiaC4VXcRJUQ.woff2 differ diff --git a/static/font/z7NbdRfiaC4VXcdJURRD.woff2 b/static/font/z7NbdRfiaC4VXcdJURRD.woff2 new file mode 100644 index 0000000..0930c8b Binary files /dev/null and b/static/font/z7NbdRfiaC4VXcdJURRD.woff2 differ diff --git a/static/font/z7NbdRfiaC4VXchJURRD.woff2 b/static/font/z7NbdRfiaC4VXchJURRD.woff2 new file mode 100644 index 0000000..aff9228 Binary files /dev/null and b/static/font/z7NbdRfiaC4VXchJURRD.woff2 differ diff --git a/static/font/z7NbdRfiaC4VXclJURRD.woff2 b/static/font/z7NbdRfiaC4VXclJURRD.woff2 new file mode 100644 index 0000000..cc40048 Binary files /dev/null and b/static/font/z7NbdRfiaC4VXclJURRD.woff2 differ diff --git a/static/font/z7NbdRfiaC4VXcpJURRD.woff2 b/static/font/z7NbdRfiaC4VXcpJURRD.woff2 new file mode 100644 index 0000000..9207f9b Binary files /dev/null and b/static/font/z7NbdRfiaC4VXcpJURRD.woff2 differ diff --git a/static/font/z7NbdRfiaC4VXctJURRD.woff2 b/static/font/z7NbdRfiaC4VXctJURRD.woff2 new file mode 100644 index 0000000..938c231 Binary files /dev/null and b/static/font/z7NbdRfiaC4VXctJURRD.woff2 differ diff --git a/static/image/particles_blue.jpg b/static/image/particles_blue.jpg new file mode 100644 index 0000000..98a821e Binary files /dev/null and b/static/image/particles_blue.jpg differ diff --git a/static/picture/picture.jpg b/static/picture/picture.jpg new file mode 100644 index 0000000..ec7af91 Binary files /dev/null and b/static/picture/picture.jpg differ