《仕途浮沉 · 职场晋升全真模拟》是一款 100% 纯虚构的休闲文字游戏:从一名“实习干事”起步,历经 24 道虚构职场关卡,靠一次次四选一抉择改变四维数值、人际好感与风险隐患,最终走向六种不同人生结局。
前端是单个 HTML 文件、原生 JS、零框架;另附一个零第三方依赖的 Python + SQLite 真实数据后端,可统计真实在线、身份/结局分布、实时抉择事件流与全服双榜单。本文提供完整源码下载与一步步部署教程。

一、游戏特色
- 四大开局身份:实干派(林默)、圆滑派(周扬)、佛系派(吴凯)、野心派(赵峰),各有不同的四维初始值、天赋与缺陷。
- 四维数值系统:实力、本心、情商、变通(0–100,带阈值效果)。能力决定下限,情商决定上限,底线决定结局,站位决定发展。
- 24 个剧情事件:新人报到、紧急攻坚、成果被统筹、年度评优、甩锅栽赃、立场抉择、晋升公示被举报……每关都是“实干 / 圆滑 / 佛系 / 野心”四种倾向的四选一,且没有绝对正确选项,每个选择都标好了代价。
- 5 位 NPC 好感系统:部门一把手、分管领导、直属主管、资深老职场、办公室消息枢纽,好感分六档并被长期记忆。
- 正统职级线:实习干事 → 四级专员 → 科室副主管 → 科室主管 → 部门分管负责人 → 部门一把手(玩家封顶正处)。
- 六大结局:隐藏结局「初心不负」与 S/A/B/C/D 五档,由四维、隐患、硬伤等共同判定。
- 双榜单 + 隐藏后台:在职最高榜、老虎翻车榜;后台路径
/admin,前台无任何入口。 - 真实数据:在线人数、身份/结局占比、实时事件流、全服对局记录全部来自服务器真实采集,没有任何机器人、随机数或假数据。


二、在线试玩
已部署的演示地址(手机端体验最佳):
隐藏数据后台:https://a.ooj.me/admin(需管理口令,前台不显示入口)。
三、源码与下载
完整源码已打包(约 46 KB,解压后 3 个文件):
index.html:游戏前端,单文件、原生 HTML/CSS/JS,无框架、无构建。server.py:真实数据后端,仅用 Python3 标准库 + SQLite,零第三方依赖。使用说明.txt:图文版部署说明与常见问题。
下载完整源码包 shitufu-career-game.zip(约46KB,含前端 index.html + 后端 server.py + 使用说明)
四、部署教程
环境要求
一台 Linux 服务器(演示环境为 CentOS 7 + 宝塔 Nginx),Python 3.6 及以上即可(sqlite3、http.server 均为标准库自带),Nginx 用于反向代理。只想单机玩的话,直接双击打开 index.html 即可,后端不是游戏通关的必需品。
第 1 步:放置前端
把 index.html 上传到站点根目录,例如 /www/wwwroot/你的域名/index.html,属主设为运行 Nginx 的用户(如 www)。
第 2 步:安装后端
mkdir -p /www/server/backend/shitufu
# 把 server.py 上传到 /www/server/backend/shitufu/server.py
第 3 步:配置 systemd 守护(开机自启、崩溃自动重启)
新建 /etc/systemd/system/shitufu.service,内容如下:
[Unit]
Description=Shitufu Game Real Data Backend
After=network.target
[Service]
Type=simple
WorkingDirectory=/www/server/backend/shitufu
ExecStart=/usr/bin/python3 /www/server/backend/shitufu/server.py
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
然后启用并启动:
systemctl daemon-reload
systemctl enable --now shitufu
systemctl status shitufu # 显示 active(running) 即成功
后端只监听 127.0.0.1:8791,不对公网暴露。数据库文件 data.db 会在首次运行时自动创建。
第 4 步:Nginx 反向代理 /api 与隐藏后台
在站点的 server 配置中加入:
location /api/ {
proxy_pass http://127.0.0.1:8791;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 32k;
}
# 隐藏后台入口(前端按路径 /admin 渲染后台)
location = /admin { try_files /index.html =404; }
location = /admin/ { try_files /index.html =404; }
location / { try_files $uri $uri/ /index.html; }
测试配置并重载:
nginx -t && systemctl reload nginx
第 5 步:验证
curl https://你的域名/api/ping
# 返回 {"ok": true, "ts": ...} 即后端联通
# 游戏首页 https://你的域名/
# 隐藏后台 https://你的域名/admin
修改后台口令 / 清空数据
默认后台口令为 admin(用户名 admin)。改口令:编辑 server.py 顶部的 ADMIN_PASS 后执行 systemctl restart shitufu(也可用环境变量 SHITUFU_ADMIN_PASS 覆盖),上线后建议立即改成强口令。
清空全部统计数据(SQLite 单文件,直接备份/删除即可):
systemctl stop shitufu
rm -f /www/server/backend/shitufu/data.db
systemctl start shitufu
五、真实数据是怎么统计的
- 玩家开局上报
/api/start,每关抉择上报/api/choice,游戏中每 25 秒发一次心跳/api/ping,通关上报/api/finish。 - 当前在线 = 近 180 秒内有心跳或操作的去重会话数,后台每 6 秒刷新一次。
- 通关默认匿名计入在线、对局数、身份/结局分布等统计;只有玩家自己点「留名上榜(公开)」,才会以名号进入公开双榜单。
- 后台统计接口使用 HTTP Basic 口令校验,错误口令无法进入;服务端对入参做了范围校验、请求体大小限制,且仅监听本机。



六、免责声明
本程序 100% 为虚构休闲文字游戏。
所有岗位层级、职场博弈、剧情设定均为艺术虚构创作,不对应现实工作、不指导现实行为、无任何现实导向;仅用于个人休闲娱乐与剧情推演,严禁对标现实、严禁现实借鉴。文中所有职场取舍与人际博弈均为游戏剧情效果,不代表真实社会规则与处事准则。
技术栈:单文件 HTML + 原生 JavaScript|后端 Python3 标准库 + SQLite|systemd 守护 + Nginx 反代。源码仅供学习交流。



暂无评论内容