GalError —— 一个开源的 Galgame 报错解决百科
这是什么?
GalError 是一个专注于收录 Galgame 运行报错信息和解决方案的社区平台。
玩 Galgame 的时候遇到乱码、闪退、黑屏、兼容性报错,上网搜半天找不到答案——相信不少人都经历过。GalError 想做的事情很简单:把这些报错和解决方案整理到一起,让遇到同样问题的人能快速找到答案。
网站地址:https://galerror.top
有什么功能?
-
报错信息库:按游戏和分类归档的报错记录,附带截图和系统环境信息
-
解决方案:每条报错可以附带经过验证的解决方案和操作步骤
-
游戏数据库:接入 VNDB,输入 VNDB ID 自动获取游戏信息,不需要手动填
-
文章专栏:写技术文章、经验分享、问题排查指南,支持 Markdown
-
讨论区:求助、交流、分享,遇到搞不定的问题可以直接发帖问
-
全站搜索:游戏名、报错内容、VNDB 编号,一搜就有
-
日/夜间主题:护眼切换,自定义背景
所有用户提交的内容都有人工审核,确保信息质量。同时启用了敏感词过滤和图片审核,保持社区环境干净。
关于开源和非盈利
先把最重要的事情说清楚:
-
完全非盈利:没有广告,没有会员付费,没有任何商业行为
-
完全开源:全部源代码以 MIT 协议开源在 GitHub
-
技术栈简单:原生 PHP + MySQL,没有复杂框架依赖,任何人都可以看懂、修改、部署自己的实例
GitHub 仓库:https://github.com/antonalley701791ekr-sys/GalError
做这个网站的初衷就是给 Galgame 玩家提供一个实用的工具。代码公开透明,欢迎审查,也欢迎参与贡献。
我能做什么?
作为用户:
-
遇到报错 → 先搜一下,也许已经有解决方案了
-
解决了问题 → 顺手提交一条报错记录和解决方案,帮助后来人
-
有经验想分享 → 写篇文章,或者在讨论区聊聊
-
发现 bug 或有建议 → 在 GitHub 提 Issue,或者讨论区反馈
作为开发者:
-
源代码完全开放,可以 Fork、修改、自建实例
-
发现代码问题可以直接提 PR
-
技术栈门槛低(原生 PHP),容易上手
注册和使用
- 访问 galerror.top,注册账号并验证邮箱
- 浏览或搜索你遇到的报错
- 如果没有找到,就提交一条新的报错记录
- 知道解决方案的话,一并填写
就这么简单。
最后
GalError 是一个很小的项目,靠社区成员贡献内容才有价值。如果你觉得有用,欢迎注册使用,也欢迎分享给身边玩 Galgame 的朋友。
有任何问题和建议,随时反馈。
网站:https://galerror.top GitHub:https://github.com/antonalley701791ekr-sys/GalError 开源协议:MIT
小网站刚起步,求支持😭欢迎提意见
更新记录:
4/20
- 编辑内容支持离开编辑、停输自动保存为草稿,显示保存状态,可手动保存清空,提交成功自动清除,并统一样式。
- 对现有敏感词与外链拦截系统进行策略优化,解决误判、误伤正常内容的问题。
4/21
- 已修复讨论区话题浏览量统计异常 讨论区详情页前端发送的统计类型是 discussion 但后端接口 record_view 的合法类型白名单允许不全
- 文章栏目开放评论区,所有功能和话题/报错解决方案的评论区功能一致 已支持的能力: 文章详情页展示评论列表 登录后发表评论 回复评论 Markdown 编写 / 预览 评论高亮定位 管理员删除评论 评论数实时更新 给文章作者发送新评论通知 给被回复者发送回复通知 评论频率限制 敏感词校验
- 完善站内信跳转及已读逻辑: 点击各类评论回复相关站内信通知,可直接跳转到对应文章、话题、报错解决方案内精准定位到该条评论 / 回复位置。 点击跳转后,本条站内信自动标记为已读。 分类跳转规则: 点击「欢迎加入!请阅读入站须知」系统通知,跳转至入站须知详情页面。 点击「您的话题 / 文章 / 报错解决方案收到了新评论」通知,跳转至对应内容页面并定位到最新评论位置。 原有站内信展示、消息列表、其他功能全部保持不变。
- 优化报错分类点击跳转功能: 目前点击常见报错分类,仅通用跳转到文章搜索主页,需要修改为精准跳转到对应分类专属搜索结果页。 例:点击【中文路径问题】分类,跳转至筛选结果页,页面筛选条件为:报错内容分类:中文路径问题。 新增跳转逻辑:在解决方案详情页,点击页面内的报错类型标签,同样跳转至对应分类的搜索结果页,筛选显示该报错类型下的全部相关内容。 原有页面布局、展示、其他功能全部保持不变。
- 新增 @用户提及功能,支持在文本编辑、评论回复时 @站内用户。将 @功能以按钮形式集成到 Markdown 编辑器工具栏中。内容发布后,被 @的用户会自动收到站内信通知,点击该条站内信可直接跳转至对应内容页面。网站原有所有功能保持不变。
- 优化评论区用户名点击跳转逻辑 当前格式为 回复者 回复 @被回复者。 删除点击被回复者用户名可跳转至对应评论位置。 点击回复者用户名、点击被回复者用户名,均可跳转查看该用户的个人主页信息,原有评论展示、回复、@提及、站内信功能全部保持不变。
4/23
一.全站所有评论区增加长评论自动折叠功能
- 当评论内容文字行数过多时,系统自动折叠多余内容,底部显示展开按钮,点击即可查看完整全部评论内容,原有所有功能保持不变。
二.评论区添加分页翻页功能
- 目前全站所有内容(文章、报错、解决方案、话题)的评论区评论数量过多,一次性全部展示页面过长
- 所有页面评论区添加分页翻页功能,对评论进行分页加载展示,支持上一页、下一页切换,原有所有功能保持不变。
三.为全站所有分页组件新增页码手动输入跳转功能
- 在分页翻页按钮区域添加页码输入框,用户可手动输入想要跳转的页数,点击跳转按钮即可直接跳转到对应页面
- 保留原有上一页、下一页、首页、尾页按钮功能,风格与网站风格统一,其余页面功能全部保持不变。
四.开放全站评论与回复的编辑权限:
- 所有用户发布的评论、楼中回复,发布者本人均可对自己发布的内容进行重新编辑修改,其他用户无权编辑。
- 优化回复/编辑按钮,与网站风格统一
- 展开/收起评论时定位到相关评论。
- 评论和回复后自动刷新页面并定位到自己发布或回复的评论。
- 评论区折叠标准改为四行折叠。
4/26
一.游戏信息添加编辑功能
- 普通用户编辑已发布游戏信息时,修改内容需重新进入审核流程;
- 发布者本人与管理员可直接编辑已发布游戏信息,无需审核;
- 所有角色点击编辑按钮,统一跳转至游戏提交表单页面,自动回填该游戏原有全部信息数据,修改完成后可重新提交保存。
二.游戏详情页封面功能优化
- 自动检测封面图片原始宽高比,智能识别横屏 / 竖屏封面;根据图片比例自适应布局展示,横屏封面横向适配、竖屏封面纵向适配,不强制裁切、不拉伸变形,完整保留原图展示比例。
- 增加点击预览功能,点击封面即可弹窗展示完整原图,支持大图浏览查看,不影响原有封面展示样式与页面布局。
三.封面图片裁剪功能重构:
- 使用Cropper.js
- 固定竖屏裁剪游戏封面不全,获取封面时以竖屏横屏两种方式获取,用户可选;
- 修复游戏列表预览封面图显示超出裁剪范围;
- 点击裁剪按钮后弹出独立模态框,所有裁剪操作仅在模态框内完成;
- 自动读取原图原始比例,自适应生成对应尺寸模态框;
- 原图铺满模态框裁剪可视区域,无黑白空白无效边距;
- 模态框支持上下滚动,完整展示超高、不同分辨率的长图;
- 裁剪画布、缩放、拖拽、旋转等编辑区域在上半部分,功能操作按钮统一放置在裁剪区域下方;
- 保留固定比例选择、图片缩放、拖拽调整、裁剪确认、重置、取消功能,裁剪完成后正常上传替换原图,整体 UI 贴合网站现有风格。
4/27
一.全站所有 Markdown 编辑器统一优化标签交互:
- 在编辑器内输入自定义标签,按下回车键即可快速提交添加该自定义标签; 新增提交自定义标签按钮,支持手动点击按钮提交标签,双模式添加。
- 已提交的自定义标签改为可视化展示,样式与现有标签一致。
- 所有使用 Markdown 编辑器的编辑页面,二次编辑时仅自动回填标题、正文内容,同时自动回填原有标签。
二.优化草稿保存逻辑:
- 现有草稿仅保存正文内容,需修改为草稿保存时同步保存标题、所选标签、自定义标签;
- 所有使用 Markdown 编辑器的发布 / 编辑页面,点击保存草稿后,标题、标签、正文完整存入草稿数据,下次打开草稿可完整回填全部内容,避免标题与标签丢失。
三.优化 Markdown 编辑器有序列表自动编号功能:
- 当用户使用有序列表(1. )编写文章时,在序号 1 的行尾/行中按回车键换行,编辑器自动生成并插入序号 2;继续按回车自动依次生成序号 3、4、5…… 实现连续自动编号,无需手动输入序号,提升排版编辑效率
4/29
一.Markdown 编辑器自带的表格插入功能固定只能生成 3 列,手动按照标准 Markdown 语法增加表格列数后,整个表格无法正常解析渲染,需要修复:
- 移除编辑器表格功能固定 3 列的限制,支持自定义任意列数表格;
- 兼容标准 Markdown 表格语法,手动新增列、增加行列后可正常解析、预览和前端页面正常渲染;
- 编辑器可视化插入表格支持选择自定义行列数,不再强制锁定 3 列;
- 保证多列表格在编辑页、预览页、前台展示页排版正常。
二.为 Markdown 编辑器新增文本转表格内置工具:
- 在编辑器工具栏增加「文本转表格」按钮;
- 支持用户粘贴制表符 / Tab 分隔、空格规整分列的纯文本;
- 自动识别行列,转换成标准 Markdown 表格代码;
- 转换后直接替换 / 插入到编辑器当前光标位置;
- 支持任意多行列,不受原有编辑器 3 列表格限制,转换后编辑、预览、前台正常渲染;
- 保留原文本所有字符、特殊符号、生僻汉字。
5/2
一.调整网站人机验证弹出逻辑:
- 仅在登录、注册环节触发人机验证,移除网站其他所有操作场景的人机验证弹出机制,其余操作不再弹窗校验
二.修复账号频繁自动登出 Bug:
- 优化登录会话保持机制,用户登录后长期保持登录状态;仅在网络环境变更、IP 地址发生变动时,才自动失效登录状态并退出登录,正常同网络同 IP 访问不再无故掉线登出
三.私信输入框 & 报错拒绝理由输入框 样式与功能调整
报错拒绝理由填写输入框
- 点击按钮弹出模态框,样式与现有评论回复模态框完全一致;
- 模态框内使用评论模块同款 Markdown 编辑器,但只需要文字方面的功能(输入,换行,排版,列表,文字样式);图片,链接,用户提及,代码块功能不需要;
- 该模态框仅允许通过点击【关闭按钮】关闭,禁止点击模态框外部空白处自动关闭。
- 模态框不随白天模式自动变换背景导致的视觉问题
私信输入框
- 支持换行
5/5
一.修复「拒绝理由」模块的 UI 不一致问题/多行空行吞并问题:
- 将其标签样式、整体布局改为与页面上其他模块(基本信息、问题描述等)完全统一。
- 修复输入预览/显示多行空行吞并,连续空行占位保护,兼容marked转义/未转义
二.修复报错管理列表「状态」列文字换行问题,让所有状态文字在一行完整显示
三.私信页面滚动逻辑调整
- 当前私信页面存在双重滚动条,聊天记录区域和整个页面都可滑动,导致交互混乱。 修改为:整个页面(包括顶部导航、底部版权栏)固定,不随滚动移动;
- 仅保留聊天记录区域可单独滚动,移除外层页面的滚动条。
- 输入框样式优化 将私信输入框的高度缩小,限制为最多显示三行文字的高度;
- 保持输入框的可编辑功能不变,超出部分在输入框内滚动。
- 修复移动端底部遮挡问题 主区域高度改为优先使用动态视口,减少被浏览器底栏吞掉的高度误差。 容器与发送区增加底部安全区内边距。 移动端额外增加底部留白兜底,保证输入框和发送按钮完整可见。
四.移动端后台管理列表重构 后台管理列表存在严重的文字竖排问题:单元格内的文字被拆分成单个字符垂直排列,导致内容无法正常阅读、按钮功能难以使用。
- 文字排版修复 取消所有列表单元格、按钮内文字的竖排 / 自动换行,改为横向单行正常排列; 保证文字方向为水平,不再出现单字竖排的情况。
- 列表横向滑动适配 将列表容器设置为可横向滚动,移动端可左右滑动查看所有列; 启用 overflow-x: auto,保证触控滑动流畅,无卡顿。
- 按钮样式修复 按钮内文字改为水平居中横向显示,恢复按钮正常布局; 保持按钮尺寸不变,不影响点击区域。
- 兼容性要求 仅对移动端生效,不影响网页端现有布局; 适配所有后台管理列表页面,统一修复上述问题
五.移动端后台数据统计卡片优化:
- 移动端后台所有数据统计卡片,改为一行横向排列,同时缩小卡片尺寸与字体大小
- 统一后台内联样式为class
六.私信界面输入框调整
- 移动端私信的「发送」按钮,从当前位置上移,放在输入框区域的右上角;
- 输入框实现键盘弹出时自动跟随上移,键盘收起时复位,不被键盘遮挡。
七.修复移动端后台层级
- 顶部栏(返回前端)在最上方,下方依次网站图标名称栏 → 导航菜单。
八.后台敏感词日志优化:
- 将 IP 地址改为命中用户名称,接口路径改为拦截发生的页面 / 场景(如私信聊天、评论回复)
九.修复评论预览空格被吞、连续空格消失的问题,预览区和输出内容必须原样显示输入的所有空格。
重新编辑评论时弹出网络错误提示,但刷新页面后评论已经成功修改保存。
- 排查编辑评论接口:后端是否正常返回成功响应、状态码是否正常,是否存在响应超时、无返回的情况;
- 修复前端提交逻辑:接口请求成功且数据库已更新时,禁止弹出网络错误提示;
- 捕获接口真实报错,只有真正网络异常 / 接口失败时才弹错误,请求实际成功则正常提示编辑成功;
- 增加接口幂等和回调超时处理,避免后端已执行、前端误判报错;
5/8
一.展示层脱敏优化
- 展示层脱敏。游戏名称、游戏简介、开发商等所有前端展示内容,遇到敏感词自动替换为 ○。例如:搜索“敏感词游戏” → 前端显示“○○游戏”。但数据库里仍然保存原始内容。
- 搜索逻辑不脱敏。用户输入敏感词,仍然可以正常搜索到对应的游戏。搜索匹配是基于数据库原始内容,不影响命中。只是最终返回给用户的结果做脱敏展示。
- 提交/编辑游戏信息统一规则。用户提交新游戏、编辑旧游戏时不做敏感词拦截,自动把敏感词替换成 ○ 后存入数据库,前端只显示脱敏内容。
5/9
一.移动端游戏报错详情页中,“该游戏的其他报错”列表里,报错标签(如“其他问题”)的容器宽度异常,在部分报错项中会显示过长,超出预期范围
- 确保标签在所有报错项中都不会超出卡片边界,也不会出现宽度不一致的情况;
- 只修改移动端的展示样式,PC端保持不变。
二.统一 PC 端 + 移动端 前台与后台的顶部导航栏
PC 端
-
前台和后台切换时,顶部栏完全保持【前台顶部栏】的样式不变,不切换、不变化。
-
彻底删除后台现在的顶部栏:
-
删除后台左上角的 Logo + GalError 标题栏
-
删除后台顶部包含【返回前端、个人头像、用户名、暗浅色模式切换】的整条顶部栏
-
-
后台直接使用前台那一套顶部栏,包括:
-
左侧 Logo + 标题
-
右侧功能按钮
-
-
前后台切换时,顶部栏视觉完全一致、无变化、无断层。
移动端
-
前台和后台切换时,顶部栏完全保持【前台顶部栏】的样式不变。
-
彻底删除后台现在的顶部栏:
-
删除后台顶部包含【返回前端、头像、用户名、暗浅色模式切换】的整条顶部栏
-
删除后台顶部包含 Logo + GalError 标题的顶部栏
-
-
只保留前台的移动端顶部栏:
-
左侧 Logo+标题
-
右侧功能按钮 -保留导航菜单下拉栏
-
-
前后台切换时,顶部栏完全一致。
三.修复游戏列表中不显示报错数量图标的问题
新增按系统分类搜索/修复搜索框没有正确切换为按分类搜索模式的问题
- 修复问题:首页和搜索页的搜索框,点击按【报错内容】搜索时,搜索框没有正确切换为按分类搜索模式
- 并新增按系统分类搜索。
新增页面:报错/解决方案列表页
- 新增页面:报错/解决方案列表页
- 顶部栏「报错/解决方案」下拉菜单里,新增【报错/解决方案列表】菜单项,点击可进入列表页
- 首页最新报错/最新解决方案的最右侧,添加一个「更多」按钮
- 「更多」按钮样式、尺寸、配色、hover效果,完全和首页最新收录游戏模块的「更多」按钮保持统一
- 点击最新报错/解决方案的更多按钮,跳转进入列表页
- 不改动原有首页最新报错、最新解决方案的展示逻辑,仅新增更多入口和独立列表页
四.API rate limit , basic auth
五.报错/解决方案提交页添加系统分类 游戏报错提交页面“系统信息”上方新增【系统分类】下拉选择项,共7 个选项: Windows、安卓模拟器、主机掌机、手机原生、Win掌机、云/串流、其他。
-
保留现有的「系统信息」单行输入框不变;
-
切换不同系统分类时,自动替换输入框内的灰色提示占位文字;
-
各分类对应提示文案如下:
Windows:例如:Windows10 64位 / Windows11 专业版
安卓模拟器:例如:Winlator 5.0 / Mobox 模拟器 / ExaGear ED302 / KRKR2 安卓版
主机掌机:例如:Switch 大气层破解 / PSV 3.65 / PS4 折腾版 / PSP 6.61
手机原生:例如:安卓13 原生直装 / iOS16 官方移植版
Win掌机:例如:奥丁2 Windows版 / ROG Ally / AYA Neo 掌机
云/串流:例如:Parsec串流 / 云电脑Win10 / ToDesk远程游玩
其他:请自行填写小众游玩环境、其他系统设备
-
用户可自由在系统信息框填写详细内容,仅切换提示文案,不限制输入;
-
提交表单时同步保存「系统分类」+「系统信息」两个字段到数据库;
-
前台详情页同时展示所选系统分类和填写的详细系统信息,样式保持现有风格不变。
六.api鉴权token验证接口鉴权
- 登录用户接口:校验 session。 后台接口:校验管理员权限。 纯公开接口:签名/限频/来源限制。
- 写操作强制 POST + CSRF API 同标准。
- 参数白名单校验 content_type 限定枚举;id 必须正整数;非法直接拒绝。
- 频率限制 按 IP + 用户 + 目标资源做节流。
- 幂等/去重 同一访客短时间对同一内容只记一次。
- 来源校验 校验 Origin/Referer(作为辅助)。
- 审计日志 记录异常高频、参数异常、鉴权失败。
七.vndb抓取优化
八.统一 CSRF 防护 includes/csrf.php 生成/校验函数 全站表单统一加隐藏字段 所有敏感 POST 接口统一校验失败返回 403 SameSite Cookie 与 Origin/Referer 二次校验。


感谢支持




