Repolode
lichess-org

lichess-org/lila

lichess.org 背后的 Scala 服务端,一个免费、无广告的开源在线国际象棋平台。

可替代:Chess.com

Star
18,870
Fork
2,838
未关闭 Issue
1,281
最近提交
5小时前

这是什么?

Lila(取自 lichess 与 Scala 的合成)是驱动 lichess.org 的服务端程序。lichess.org 是一个免费的在线国际象棋网站,专注于实时对局和易用性,提供对局、游戏搜索、电脑分析、锦标赛、车轮战、论坛、战队、战术训练、共享研究棋盘和移动应用等功能。

服务端使用 Scala 3 编写,基于修改过的 Play 2.8 框架,棋规逻辑放在独立的 scalachess 库中。WebSocket 连接由单独的 lila-ws 服务通过 Redis 处理,对局数据存于 MongoDB,并由 Elasticsearch 建立索引。Stockfish 分析任务则通过 fishnet 调度到志愿者捐赠的服务器上运行。

公开的 Lichess API 可供其他应用调用,界面通过 Crowdin 翻译为 140 多种语言。该项目适合想学习或搭建大规模实时对弈平台的开发者参考。

核心功能

  • 01支持实时国际象棋对局,并提供对局搜索引擎
  • 02通过 fishnet 将电脑分析任务分发到捐赠的服务器上
  • 03提供锦标赛、车轮战、论坛和战队功能
  • 04内置战术训练和共享研究棋盘
  • 05提供公开 HTTP API 供第三方应用调用

适用场景

  • 学习使用 Scala 构建大规模实时游戏服务端的架构
  • 开发调用 Lichess API 的国际象棋应用或机器人
  • 搭建带锦标赛和战队功能的自托管国际象棋社区

快速上手

  1. 1

    在仓库根目录启动 sbt 包装脚本

    ./lila.sh
  2. 2

    在 sbt 提示符下运行服务器

    run

使用前须知

  • 采用 AGPL-3.0 许可证,这是一种 copyleft 许可证,将修改后的代码作为网络服务运行时需要公开源代码。
  • 搭建开发环境并不简单,需要参考单独的 wiki 指南,且生产架构依赖 MongoDB、Redis 和 Elasticsearch。

标签

常见问题

lila 是什么?
lichess.org 背后的 Scala 服务端,一个免费、无广告的开源在线国际象棋平台。 Lila(取自 lichess 与 Scala 的合成)是驱动 lichess.org 的服务端程序。lichess.org 是一个免费的在线国际象棋网站,专注于实时对局和易用性,提供对局、游戏搜索、电脑分析、锦标赛、车轮战、论坛、战队、战术训练、共享研究棋盘和移动应用等功能。
lila 可以免费使用吗?用的什么许可证?
lila 以 AGPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
lila 还在维护吗?
活跃维护中。lila 最近一次提交是在 2026年10月20日。
lila 适合用来做什么?
学习使用 Scala 构建大规模实时游戏服务端的架构 开发调用 Lichess API 的国际象棋应用或机器人 搭建带锦标赛和战队功能的自托管国际象棋社区
lila 怎么安装和运行?
在仓库根目录启动 sbt 包装脚本: ./lila.sh 在 sbt 提示符下运行服务器: run
在哪里获取 lila?
源代码和安装说明在 GitHub 上:https://github.com/lichess-org/lila

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目