zeropingheroes / lanager
局域网派对管理网页应用
Requires
- php: ^8.3
- bandwidth-throttle/token-bucket: dev-patch-1
- diglactic/laravel-breadcrumbs: ^9.0
- graham-campbell/markdown: ^15.2
- guzzlehttp/guzzle: ^7
- laravel/framework: ^11.0
- laravel/sanctum: ^4.0
- laravel/socialite: ^5
- league/csv: ^9.9
- socialiteproviders/steam: ^4.2
- syntax/steam-api: ^3.0
Requires (Dev)
- barryvdh/laravel-debugbar: ^3.13
- barryvdh/laravel-ide-helper: ^3.0
- fakerphp/faker: ^1.23
- laravel/dusk: ^8.2
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.1
- ottaviano/faker-gravatar: ^0.2.0
- phpunit/phpunit: ^10.0
- spatie/laravel-ignition: ^2.0
- squizlabs/php_codesniffer: ^3.10
- dev-stable
- v1.3.1
- v1.3.0
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.0
- 0.5.x-dev
- v0.5.2
- v0.5.1
- v0.5
- v0.4.2
- v0.4.1
- v0.4
- v0.3
- v0.2.6
- v0.2.5
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2
- v0.1.1
- v0.1
- dev-develop
- dev-shift-127248
- dev-dependabot/npm_and_yarn/multi-ef6a007963
- dev-dependabot/npm_and_yarn/express-4.19.2
- dev-dependabot/npm_and_yarn/webpack-dev-middleware-5.3.4
- dev-dependabot/npm_and_yarn/ws-8.18.0
- dev-dependabot/npm_and_yarn/braces-3.0.3
- dev-dependabot/npm_and_yarn/follow-redirects-1.15.6
- dev-dependabot/npm_and_yarn/axios-0.28.0
- dev-dependabot/npm_and_yarn/elliptic-6.5.7
- dev-discord-api
This package is not auto-updated.
Last update: 2024-09-28 15:34:10 UTC
README
LANager 是一款网页应用,旨在为参与者和管理者提供更加愉快的局域网派对体验。
功能
鼓励社交和参与
- 正在玩的游戏 - 由您的局域网参与者提供,每分钟从 Steam 更新
- 活动时间表 - 让您的参与者了解局域网上的活动
- 成就 - 由您创建并颁发给参与者
- 参与者资料 - 包含Steam个人资料链接,以及他们在局域网中的游戏历史
- 共同游戏 - 当查看其他参与者的资料时
- 最近玩过的游戏 - 显示局域网参与者最近玩过的顶级游戏
广播有用信息
- 幻灯片 - 显示参与者正在玩的游戏,以及当前和即将到来的活动,用于您场地周围的电视或投影仪
- 指南 - 由您编写,帮助参与者了解场地设施、规则或游戏指南等信息
- 链接 - 到其他网站,如您的组织网站或游戏统计数据页面
要求
- 互联网接入
- Docker Engine
- Docker Compose
设置
-
克隆
lanager-docker-compose项目git clone https://github.com/zeropingheroes/lanager-docker-compose
-
将
.env.example复制到一个名为.env的新文件cd lanager-docker-compose cp .env.example .env -
在文本编辑器中打开环境配置文件
nano .env
-
设置以下配置项
- 将
APP_KEY设置为base64:后跟一个 随机生成的32字符base64字符串 - 将
APP_URL设置为您将通过它访问 LANager 的 URL,不带尾随斜杠,例如https://example.com - 将
APP_TIMEZONE设置为您所在位置的 时区 - 将
STEAM_API_KEY设置为您的 Steam API Key - 将
DB_PASSWORD设置为一个 随机生成的密码 - 将
DB_ROOT_PASSWORD设置为一个不同的随机生成的密码
- 将
-
启动应用程序
docker-compose up --detach
-
检查应用程序的状态
docker ps --filter name=lanager
-
当容器状态显示为
Up x minutes (healthy)时,初始化数据库./initialise-database.sh
现在您可以通过 https:// 或您在 APP_URL 中指定的 URL 访问 LANager,前提是您已为 Docker 主机的 IP 地址创建了相应的 DNS A 记录,并通过 Docker 主机的防火墙允许了端口 80 和 443。
故障排除
- 运行
docker-compose down --rmi local --volumes删除数据库数据和 LANager 容器镜像,然后重试上述设置步骤 - 编辑您的
.env文件并启用调试APP_ENV=staging APP_DEBUG=true
重要:故障排除后,请删除这些行以避免泄露敏感数据
如果您遇到困难,请 创建一个问题,并提供您遇到的问题的详细信息
- 您已运行的命令
docker-compose up的输出docker logs lanager的输出- 浏览器中显示的任何错误
入门
要为您的下一次局域网派对设置 LANager,您需要创建一个局域网页面,然后向该页面添加事件(如计划中的游戏或午餐休息)和指南(如游戏规则)。
成为超级管理员
LANager会将“超级管理员”角色分配给第一个登录账户,所以请确保您在完成安装后立即登录。
超级管理员可以在网站上执行任何操作,包括为其他用户分配角色。
创建您的LAN页面
您需要做的第一件事是在LANager中创建一个LAN页面。无论您的LAN聚会是一天还是多天,这个过程都是相同的。您需要在创建活动日程、发布任何指南或授予成就之前完成此操作。
登录LANager,然后转到⚙ > LANs,然后选择 + 按钮进入LAN页面创建表单。输入您LAN的详细信息,如果您想要的话,还可以添加带有 Markdown格式 的描述。
LANager会自动将LAN聚会期间登录LANager的任何人添加到LAN的参与者名单中。对于每个参与者,它显示当前的LAN页面,其中包含LAN的时间表事件、指南和参与者名单。
创建事件和指南
一旦您为您的LAN聚会创建了LAN页面,您就可以创建事件和指南,帮助参与者享受您的聚会。
- 事件 是安排游戏锦标赛、突出显示大型游戏会话、安排休息时间和用餐时间以及让人们知道何时回家的一种有用方式。
- 指南 是提供游戏规则和游戏下载链接、告知人们最近的商店和餐厅位置、提供活动行为准则以及传达您认为客人可能需要的任何其他信息的一种有用方式。
从LAN页面,点击 Events 和 Guides 标题旁边的 + 按钮进入它们的创建表单。
使用链接
您可以在LAN、指南和事件中使用Markdown格式的链接。例如,您可以编写一个单独的指南,并在多个事件页面上插入对其的链接。
If you need any help, please contact one of our [tournament staff](/lans/4/guides/3)
尽可能使用相对链接,如上所示,这样如果更改您的域名,链接仍然可以工作。
使用图像
您可以将图像上传到LAN页面、事件和指南。要执行此操作,请按照以下步骤操作
- 在“描述”文本框下方,选择“上传图像”。
- 上传您要使用的图像。
- 在图像旁边,选择 ⚙ > 复制Markdown
- 将Markdown粘贴到指南、事件或LAN的 描述 字段中,在您希望它在文本中出现的位置。
显示幻灯片
幻灯片功能允许您显示循环播放的实时数据和有用的信息幻灯片,供您的参与者查看,例如下一个即将开始的活动、人们正在玩的游戏以及如何登录LANager。
要显示幻灯片,以管理员身份登录,然后转到 ⚙ > LANs > (您的LAN) > Slides。
在大型电视或投影仪上加载幻灯片,以便参与者可以轻松查看信息。
创建和授予成就
点击 ⚙ > Achievements,然后点击 + 按钮创建您可以授予用户的成就。
要授予一个成就给参与者,转到导航栏并选择 Achievements。这会打开您已授予当前LAN参与者成就的列表。在页面底部,选择要授予的成就和参与者,然后选择 授予。
自定义导航栏
点击 ⚙ > 导航 来自定义导航栏上显示的链接。您可以链接到LANager上的页面或第三方网站,将链接组织成下拉菜单,并选择链接在navbar或下拉菜单中显示的顺序。
备份
运行 ./backup.sh 以备份LANager的配置、数据库数据和上传的图片。
恢复备份
运行 ./backup-restore.sh <file> 以恢复备份。
开发
开发环境设置
-
遵循上面 设置 部分的步骤
-
停止运行的容器
docker-compose down
-
检出
lanager-docker-compose的开发分支cd lanager-docker-compose git checkout develop -
编辑
lanager-docker-compose/.env并添加以下行APP_ENV=local APP_DEBUG=true
-
在
lanager-docker-compose之外的一个目录中,克隆lanager仓库git clone --branch develop https://github.com/zeropingheroes/lanager
-
在您的宿主机计算机上安装
composer -
从
lanager目录,安装composer依赖composer install --no-scripts
-
设置一个环境变量,包含您克隆
lanager仓库的路径(不要以反斜杠结尾)export PATH_TO_LANAGER=/path/to/lanager -
从
lanager-docker-compose目录,运行envsubst以将lanager的路径替换到docker-compose.override.ymlenvsubst < docker-compose.override.yml.example > docker-compose.override.yml
-
启动容器
docker-compose up --detach
-
大约一分钟后,访问
https://
容器将运行您主机计算机上的代码,而不是容器镜像中静态的代码副本,因此您对项目目录中的文件(除了 storage/ 目录)所做的任何更改都将被运行的容器看到。
启动和停止开发环境
要停止开发环境,请运行 docker-compose stop。
当您准备好再次开发时,运行 docker-compose start。
销毁开发环境
要销毁开发环境以及存储lanager数据的所有卷,请运行
docker-compose down --volumes
遵循上面的设置步骤以获取新的开发环境。
启用pre-commit钩子
在您提交代码之前自动检查并修复代码中的问题
- 安装 pre-commit
- 安装 PHP Codesniffer & Code beautifier
- 从
lanager/目录,运行pre-commit install
要检查您的代码,运行 pre-commit run --all-files 或尝试运行 git commit
重新编译JavaScript & CSS资源
要重新编译JavaScript & CSS资源,从 lanager 目录,运行
docker run -it --rm -v "$PWD":/var/www/html -w /var/www/html node:14-alpine npm installdocker run -it --rm -v "$PWD":/var/www/html -w /var/www/html node:14-alpine npm run dev
检测到文件更改时,运行以下命令以重新编译
docker run -it --rm -v "$PWD":/var/www/html -w /var/www/html node:14-alpine npm run watch-poll
运行以下命令以重新编译适合提交的压缩版本
docker run -it --rm -v "$PWD":/var/www/html -w /var/www/html node:14-alpine npm run prod
运行测试
在提交拉取请求之前,请运行功能测试套件以检查您的更改不会破坏现有功能。
运行 docker exec -it lanager php artisan dusk 以运行LANager的浏览器测试套件。
反馈 & 贡献
- 发现了错误?有一个很棒的功能想法?在 问题追踪器 中发布!
- 想要贡献吗?
如果您想以非技术方式支持项目,我们非常欢迎您向我们捐赠
享受使用LANager!