局域网派对管理网页应用


README

LANager 是一款网页应用,旨在为参与者和管理者提供更加愉快的局域网派对体验。

功能

鼓励社交和参与

  • 正在玩的游戏 - 由您的局域网参与者提供,每分钟从 Steam 更新
  • 活动时间表 - 让您的参与者了解局域网上的活动
  • 成就 - 由您创建并颁发给参与者
  • 参与者资料 - 包含Steam个人资料链接,以及他们在局域网中的游戏历史
  • 共同游戏 - 当查看其他参与者的资料时
  • 最近玩过的游戏 - 显示局域网参与者最近玩过的顶级游戏

广播有用信息

  • 幻灯片 - 显示参与者正在玩的游戏,以及当前和即将到来的活动,用于您场地周围的电视或投影仪
  • 指南 - 由您编写,帮助参与者了解场地设施、规则或游戏指南等信息
  • 链接 - 到其他网站,如您的组织网站或游戏统计数据页面

要求

设置

  1. 克隆 lanager-docker-compose 项目

    git clone https://github.com/zeropingheroes/lanager-docker-compose
  2. .env.example 复制到一个名为 .env 的新文件

    cd lanager-docker-compose
    cp .env.example .env
  3. 在文本编辑器中打开环境配置文件

    nano .env
  4. 设置以下配置项

    1. APP_KEY 设置为 base64: 后跟一个 随机生成的32字符base64字符串
    2. APP_URL 设置为您将通过它访问 LANager 的 URL,不带尾随斜杠,例如 https://example.com
    3. APP_TIMEZONE 设置为您所在位置的 时区
    4. STEAM_API_KEY 设置为您的 Steam API Key
    5. DB_PASSWORD 设置为一个 随机生成的密码
    6. DB_ROOT_PASSWORD 设置为一个不同的随机生成的密码
  5. 启动应用程序

    docker-compose up --detach
  6. 检查应用程序的状态

    docker ps --filter name=lanager
  7. 当容器状态显示为 Up x minutes (healthy) 时,初始化数据库

    ./initialise-database.sh

现在您可以通过 https:// 或您在 APP_URL 中指定的 URL 访问 LANager,前提是您已为 Docker 主机的 IP 地址创建了相应的 DNS A 记录,并通过 Docker 主机的防火墙允许了端口 80443

故障排除

  • 运行 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页面,点击 EventsGuides 标题旁边的 + 按钮进入它们的创建表单。

使用链接

您可以在LAN、指南和事件中使用Markdown格式的链接。例如,您可以编写一个单独的指南,并在多个事件页面上插入对其的链接。

If you need any help, please contact one of our [tournament staff](/lans/4/guides/3)

尽可能使用相对链接,如上所示,这样如果更改您的域名,链接仍然可以工作。

使用图像

您可以将图像上传到LAN页面、事件和指南。要执行此操作,请按照以下步骤操作

  1. 在“描述”文本框下方,选择“上传图像”。
  2. 上传您要使用的图像。
  3. 在图像旁边,选择 ⚙ > 复制Markdown
  4. 将Markdown粘贴到指南、事件或LAN的 描述 字段中,在您希望它在文本中出现的位置。

显示幻灯片

幻灯片功能允许您显示循环播放的实时数据和有用的信息幻灯片,供您的参与者查看,例如下一个即将开始的活动、人们正在玩的游戏以及如何登录LANager。

要显示幻灯片,以管理员身份登录,然后转到 ⚙ > LANs > (您的LAN) > Slides

在大型电视或投影仪上加载幻灯片,以便参与者可以轻松查看信息。

创建和授予成就

点击 ⚙ > Achievements,然后点击 + 按钮创建您可以授予用户的成就。

要授予一个成就给参与者,转到导航栏并选择 Achievements。这会打开您已授予当前LAN参与者成就的列表。在页面底部,选择要授予的成就和参与者,然后选择 授予

自定义导航栏

点击 ⚙ > 导航 来自定义导航栏上显示的链接。您可以链接到LANager上的页面或第三方网站,将链接组织成下拉菜单,并选择链接在navbar或下拉菜单中显示的顺序。

备份

运行 ./backup.sh 以备份LANager的配置、数据库数据和上传的图片。

恢复备份

运行 ./backup-restore.sh <file> 以恢复备份。

开发

开发环境设置

  1. 遵循上面 设置 部分的步骤

  2. 停止运行的容器

    docker-compose down
  3. 检出 lanager-docker-compose 的开发分支

    cd lanager-docker-compose
    git checkout develop
  4. 编辑 lanager-docker-compose/.env 并添加以下行

    APP_ENV=local
    APP_DEBUG=true
  5. lanager-docker-compose 之外的一个目录中,克隆 lanager 仓库

    git clone --branch develop https://github.com/zeropingheroes/lanager
  6. 在您的宿主机计算机上安装 composer

  7. lanager 目录,安装composer依赖

    composer install --no-scripts
  8. 设置一个环境变量,包含您克隆 lanager 仓库的路径(不要以反斜杠结尾)

    export PATH_TO_LANAGER=/path/to/lanager
  9. lanager-docker-compose 目录,运行 envsubst 以将lanager的路径替换到 docker-compose.override.yml

    envsubst < docker-compose.override.yml.example > docker-compose.override.yml
  10. 启动容器

    docker-compose up --detach
  11. 大约一分钟后,访问 https://

容器将运行您主机计算机上的代码,而不是容器镜像中静态的代码副本,因此您对项目目录中的文件(除了 storage/ 目录)所做的任何更改都将被运行的容器看到。

启动和停止开发环境

要停止开发环境,请运行 docker-compose stop

当您准备好再次开发时,运行 docker-compose start

销毁开发环境

要销毁开发环境以及存储lanager数据的所有卷,请运行

docker-compose down --volumes

遵循上面的设置步骤以获取新的开发环境。

启用pre-commit钩子

在您提交代码之前自动检查并修复代码中的问题

  1. 安装 pre-commit
  2. 安装 PHP Codesniffer & Code beautifier
  3. lanager/ 目录,运行 pre-commit install

要检查您的代码,运行 pre-commit run --all-files 或尝试运行 git commit

重新编译JavaScript & CSS资源

要重新编译JavaScript & CSS资源,从 lanager 目录,运行

  1. docker run -it --rm -v "$PWD":/var/www/html -w /var/www/html node:14-alpine npm install
  2. docker run -it --rm -v "$PWD":/var/www/html -w /var/www/html node:14-alpine npm run dev

检测到文件更改时,运行以下命令以重新编译

  1. docker run -it --rm -v "$PWD":/var/www/html -w /var/www/html node:14-alpine npm run watch-poll

运行以下命令以重新编译适合提交的压缩版本

  1. 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的浏览器测试套件。

反馈 & 贡献

  • 发现了错误?有一个很棒的功能想法?在 问题追踪器 中发布!
  • 想要贡献吗?
    • Fork 项目 并添加您想要看到的功能。
    • 问题追踪器 中工作于新功能/错误修复。
    • 如果您真的很积极,可以请求提交访问权限。

如果您想以非技术方式支持项目,我们非常欢迎您向我们捐赠

Flattr this git repo

享受使用LANager!