通过Docker搭个游戏——疯狂大陆(Pkland)

news2025/3/9 13:17:15

        最近在研究我的服务器,在服务器上搭了很多docker的项目,然后找着找着发现一个能用Docker配置环境的游戏叫Pkland。

        项目地址:GitHub - popkarthb/pkland: 疯狂大陆是一款多人在线的战略游戏。 游戏操作简捷,您仅需要使用浏览器就可以在任何时间任何地点进行游戏。 疯狂大陆遵循完全人与人的对抗和合作,作为一名将领您将与成千上万的玩家共处在一片疯狂而又无序的世界中。 你所关注的是如何发展自己..疯狂大陆是一款多人在线的战略游戏。 游戏操作简捷,您仅需要使用浏览器就可以在任何时间任何地点进行游戏。 疯狂大陆遵循完全人与人的对抗和合作,作为一名将领您将与成千上万的玩家共处在一片疯狂而又无序的世界中。 你所关注的是如何发展自己.. - popkarthb/pklandhttps://github.com/popkarthb/pkland        有官服,可以先去体验一下:http://www.pkland.lol/

        当然了这是一个能多人对战的游戏,所以如果搭私服没人玩还是去官服爽玩吧233

        还有QQ群:515238858,想注册估计得让管理帮忙激活账号。(不知道管理员现在有没有关掉邮箱验证)

        来几张我本地搭好后游玩的图片。

        我感觉像是文字放置版红警。(但我没玩过红警,说错了请见谅)        

        看着挺不错,但是在我安装的时候着实痛苦,虽说官服是完整的,但是在Github上我们下载下来的源代码有一些缺失,导致我们在启动docker compose和配置数据库时有一些问题,现在我在CentOS虚拟机上搭建一遍作为演示。

        个人比较懒,不想再讲一遍docker和docker compose了,就当各位都安装并且配置好了下载源吧。

        从Github下载项目代码包,放到系统里,因为只是演示,我就放桌面了。

        在目录里打开终端,或者从已有终端cd过去。

        源码包里是自带docker-compose.yml的,但这个时候直接up就会报错。

        编辑docker-compose.yml文件,你会发现其实是有个缩进错误。

        其实还有一些别的小问题,不影响启动,但是着实让我难受,所以放一个我修改的版本吧。

services:
  web:
    image: webdevops/php-apache-dev
    depends_on:
      - db
    volumes:
      - .:/app
    environment:
      DB_HOST: db
      DB_USER: 2moons # 数据库账户,和下面的MYSQL_USER相同
      DB_PASSWORD: 2moons # 数据库密码,和下面的MYSQL_PASSWORD相同
      DB_NAME: 2moons # 游戏的数据库,和下面的MYSQL_DATABASE相同
      ADMIN_NAME: admin # 游戏服务器管理员账号
      ADMIN_PASSWORD: test # 管理员密码
      ADMIN_MAIL: mail@example.com
    ports:
      - 80:80 # 冒号之前的80可以改成你想要的端口
    # 这里其实还有个443端口,并且自带证书,不过我在服务器上用Nginx Proxy Manager反代了,用不着了
    networks:
      - 2moons
  db:
    image: mariadb
    environment:
      MYSQL_ROOT_PASSWORD: root # 数据库root账户的密码
      MYSQL_DATABASE: 2moons # 游戏数据库,要和上面的DB_NAME相同
      MYSQL_USER: 2moons # 额外创建的数据库账户,要和上面的DB_USER相同
      MYSQL_PASSWORD: 2moons #额外数据库账户的密码,要和上面的DB_PASSWORD相同
    networks: # 这里上一行其实有个数据库端口,但是用network可以让两个容器用容器名访问,用不着了,关了也安全点
      - 2moons

networks:
  2moons:

        虽然修改好了docker-compose.yml内容,但我们还不能直接启动,还有点问题需要解决。

        在项目文件夹内的install文件夹中,有个文件叫做install.sql的文件,这个文件定义了游戏安装过程中数据库内数据的创建,但是在Github上下载下来的版本中,缺失了很多字段的定义,如果直接安装的话,有些功能就会出现这样的错误。

        所以我们得先替换这个文件再进行安装,经过我在安装时的不断试错,我已经更新好了这个文件。

        下载地址:https://pan.baidu.com/s/1Nv-iVmifC-VssptIAp-PIw?pwd=5piv 

        下载好文件过后,我们把文件放到以下路径:/项目文件夹(我这里就是pkland-main)/install/,替换掉原有的install.sql。

        这一步完成后,我们就真的可以是用docker-compose启动项目了。我这里拉取过镜像,所以直接启动了,如果没有拉取过会自动下载,等待就好。

        等到启动后,直接访问地址,当时写的端口是哪个就访问哪个端口,我是用的默认的80,就不用写了。

        如果Docker启动顺利,你会看到这个界面。

        这个界面提示我们要去/include文件夹添加一个叫做ENABLE_INSTALL_TOOL的文件以开启安装模式,所以直接touch一个就行,名字一样就行不需要有内容。

        创建完成后刷新页面,就进入正式的安装流程了。如果这里不是中文,可以在右上角选一下。

        到了系统需求这一步,主要是看前几项有没有通过。

        后面一堆未找到和不可写,改一下权限就行,不过得先创建一个cache文件夹。

        修改好后,刷新页面,这个时候应该就都通过了。 

         

        来到数据库配置,填写数据库信息,有时候会和你写的不一样,改一下就行。

        到这一步,其实安装就完成了。

        继续,会让你登陆管理员后台,根据自己设置的信息登陆就行。

        管理员面板就是设置一些东西,点击右上角回到游戏就进入游戏界面了。

        一切完成,开玩!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2311163.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

hive之LEAD 函数详解

1. 函数概述 LEAD 是 Hive 中的窗口函数,用于获取当前行之后指定偏移量处的行的值。常用于分析时间序列数据、计算相邻记录的差异或预测趋势。 2. 语法 LEAD(column, offset, default) OVER ([PARTITION BY partition_column] [ORDER BY order_column [ASC|DESC]…

springboot429-基于springboot的教务管理系统(源码+数据库+纯前后端分离+部署讲解等)

💕💕作者: 爱笑学姐 💕💕个人简介:十年Java,Python美女程序员一枚,精通计算机专业前后端各类框架。 💕💕各类成品Java毕设 。javaweb,ssm&#xf…

linux磁盘非lvm分区

linux磁盘非lvm分区 类似于windows划分C盘、D盘,并且不需要多个磁盘空间合一 图形化直接分区 通过gparted 这个提供直观的图形化分区,类似windows的磁盘管理工具 下载方式: 乌班图/debian系列: sudo apt install gparted红帽…

Linux:文件描述符与重定向

目录 一、文件描述符 1.文件内核对象 2.文件描述符分配原则 二、文件重定向 1.重定向的现象 输出重定向 输入重定向 dup2 2.重定向的使用 三、标准输出和标准错误 继上篇文章中,我们了解了fd打印的值为文件描述符,那么它还有什么作用呢&…

C# 开发工具Visual Studio下载和安装

开发环境与工具 C#的主要开发环境是Visual Studio,这是一个功能强大的集成开发环境(IDE),集成了代码编辑、调试、项目管理、版本控制等功能。此外,Visual Studio Code也是一个轻量级的跨平台代码编辑器,支…

网络安全ctf试题 ctf网络安全大赛真题

MISC 1 签到 难度 签到 复制给出的flag输入即可 2 range_download 难度 中等 flag{6095B134-5437-4B21-BE52-EDC46A276297} 0x01 分析dns流量,发现dns && ip.addr1.1.1.1存在dns隧道数据,整理后得到base64: cGFzc3dvcmQ6IG5zc195eWRzIQ 解…

Embedding技术:DeepWalkNode2vec

引言 在推荐系统中,Graph Embedding技术已经成为一种强大的工具,用于捕捉用户和物品之间的复杂关系。本文将介绍Graph Embedding的基本概念、原理及其在推荐系统中的应用。 什么是Graph Embedding? Graph Embedding是一种将图中的节点映射…

基于IMM算法的目标跟踪,四模型IMM|三维环境|4个模型分别是:CV、左转CT、右转CT、CA(基于EKF,订阅专栏后可获得完整源代码)

这段MATLAB代码实现了基于交互多模型(IMM)算法的目标跟踪,结合了四种运动模型(匀速直线、左转圆周、右转圆周和匀加速直线)。通过定义状态方程、生成带噪声的测量数据,以及执行IMM迭代,该代码有效地实现了多模型的状态估计和融合。最终,用户可以通过可视化结果观察目标…

前端开发10大框架深度解析

摘要 在现代前端开发中,框架的选择对项目的成功至关重要。本文旨在为开发者提供一份全面的前端框架指南,涵盖 React、Vue.js、Angular、Svelte、Ember.js、Preact、Backbone.js、Next.js、Nuxt.js 和 Gatsby。我们将从 简介、优缺点、适用场景 以及 实际…

图像形成与计算机视觉基础

1. 图像形成的基本原理 图像形成是物理世界与传感器(如胶片、CCD/CMOS)交互的过程,核心是光线的传播与记录。 1.1 直接放置胶片模型 物理原理:物体表面反射的光线直接照射到胶片上,但无任何遮挡或聚焦机制。 问题&a…

Spring Boot 缓存最佳实践:从基础到生产的完整指南

Spring Boot 缓存最佳实践:从基础到生产的完整指南 引言 在现代分布式系统中,缓存是提升系统性能的银弹。Spring Boot 通过 spring-boot-starter-cache​ 模块提供了开箱即用的缓存抽象,但如何根据业务需求实现灵活、可靠的缓存方案&#xf…

Ubuntu20.04双系统安装及软件安装(一):系统安装

Ubuntu20.04双系统安装及软件安装(一):系统安装 Ubuntu系统卸载Ubuntu20.04安装BIOS进入系统安装 许久没写博客了,今天开始重新回归了。首先记录我在双系统上重装Ubuntu20.04的安装过程记录以及个人见解。 Ubuntu系统卸载 参考双…

Linux14-io多路复用

UDP:单循环服务器,服务器同一时刻只能响应一个客户端的请求 TCP:并发服务器,服务器同一时刻只能响应多个客户端的请求 一、构建TCP并发服务器 让TCP服务端具备同时响应多个客户端的能力。 1.多进程 资源消耗大,同资源平台下,并发量小。 2.多线程 创建线程、进程,比…

Next.js项目实战-ai助手帮我写文章发布视频第1节(共89节)

😂Ai在国内外已经杀疯了,老板要求我们把速度再提升快一些,哪怕是几秒,几百毫秒也行~现在,马上就要,就地就要,只好搬出前端服务端(大保健)😓。没错,今天我要分…

探秘Transformer系列之(9)--- 位置编码分类

探秘Transformer系列之(9)— 位置编码分类 文章目录 探秘Transformer系列之(9)--- 位置编码分类0x00 概述0x01 区别1.1 从直观角度来看1.2 从模型处理角度来看1.3 优劣 0x02 绝对位置编码2.1 基础方案2.2 训练式2.3 三角函数式2.4…

笔记四:C语言中的文件和文件操作

Faye:只要有正确的伴奏,什么都能变成好旋律。 ---------《寻找天堂》 目录 一、文件介绍 1.1程序文件 1.2 数据文件 1.3 文件名 二、文件的打开和关闭 2.1 文件指针 2.2.文件的打开和关闭 2.3 文件读取结束的判定 三、 文件的顺序读写 3.1 顺序读写…

Zabbix+Deepseek实现AI告警分析(非本地部署大模型版)

目录 前言技术架构DeepSeek API获取1. 注册账号2. 申请API-Key Zabbix告警AI分析 实现1. 创建Scripts2. Scripts关键参数说明3. 需要注意 测试参考链接 前言 最近手伤了,更新频率下降…… 近期在Zabbix社区看到了一篇文章:张世宏老师分享的《Zabbix告警分…

国产NAS系统飞牛云fnOS深度体验:从运维面板到博客生态全打通

文章目录 前言1. 飞牛云本地部署1Panel2. 1Panel功能介绍3. 公网访问1Panel控制面板4. 固定1Panel公网地址5. 1Panel搭建Halo博客6. 公网访问Halo个人博客 前言 嘿,小伙伴们!是不是厌倦了服务器管理的繁琐和搭建个人网站的复杂?今天就来一场…

使用QT + 文件IO + 鼠标拖拽事件 + 线程 ,实现大文件的传输

第一题、使用qss&#xff0c;通过线程&#xff0c;使进度条自己动起来 mythread.h #ifndef MYTHREAD_H #define MYTHREAD_H#include <QObject> #include <QThread> #include <QDebug>class mythread : public QThread {Q_OBJECT public:mythread(QObject* …

博查搜索API日调用量突破3000万次,达到Bing API的1/3。

根据第三方机构统计&#xff0c;2024年Bing Search API 全球日均调用量为1.1亿次。截至2025年3月&#xff0c;博查 Search API日均调用量已达到3000万次&#xff08;约为Bing的1/3&#xff09;&#xff0c;承接着国内AI应用60%的联网搜索请求。