打工人摸鱼新姿势!轻量斗地主服务器,内网穿透让同事远程联机不翻车

打工人摸鱼新姿势!轻量斗地主服务器,内网穿透让同事远程联机不翻车
在这里插入图片描述

Ratel 斗地主服务器是一款基于 Netty 和 Protobuf 开发的轻量级服务端软件,核心功能是搭建斗地主游戏服务,适配 Windows、Linux、macOS 多系统,适合职场上班族、学生群体这类想利用碎片时间休闲的人群,它的核心优点是资源占用极低,CPU 仅占 3%,内存消耗也少,还支持 AI 对手和隐藏进程,日常使用不会给设备带来负担。

使用这款软件时也有一些小细节需要注意,比如在办公场景下启动服务要注意隐藏会话,避免被察觉;和 AI 对战时不同难度模式的出牌节奏有差异,新手可以先从简单模式上手,而且软件启动后需要保持终端窗口运行,不小心关闭就会中断游戏。

在这里插入图片描述

不过这款软件仅靠局域网使用时,会遇到不少实际问题:比如上班族想和异地的同事联机,却因为不在同一局域网无法连接;学生在宿舍搭建好服务器,放假回家后就没法和室友继续玩,只能局限在小范围的网络环境里,大大降低了使用的灵活性。

而将 Ratel 斗地主服务器和 cpolar 内网穿透结合后,这些问题就能迎刃而解。cpolar 无需公网 IP 就能把本地的游戏服务映射到公网,不管是在公司不同部门的同事,还是异地的同学,都能通过公网地址连接到服务器,比如在宿舍搭建的服务器,回家后用手机就能远程接入,既保留了软件轻量易用的特点,又突破了局域网的限制。

按照下面的教程赶快安装,斗地主喽!

1.在linux上部署ratel

Ratel 是一个基于 Netty 和 Spring Boot 的斗地主游戏后端。本文介绍如何在 Linux 系统上快速部署并运行 Ratel 服务,实现服务器启动与客户端连接,助你轻松搭建本地游戏环境。

1.1安装ratel

首先下载打包,确保本地安装有JRE环境:

java --version 

验证之后,打包下载:

git clone https://github.com/ainilili/ratel.git 

部署完成后,切换到ratel目录:

cd ratel 
8986f7a92567f83cc7b7a7870e498845

将项目编译、测试:

mvn install package 

发现没有mvn,安装:

yum install -y maven 
71a2361d4bdcc5a418ff529fd86cb3f1

继续运行这个命令,发现没有找到java,瘦到查询java安装位置:

readlink -f $(which java)
283dae0ed647fa80f4ba36eaa194e704

进入配置文件修改:

vi /etc/profile 

修改如下。

711fc8f61ab754122c4f3a349897a41a

使配置文件生效:

source /etc/profile 

继续执行这个命令:

mvn install package 
59a7789c8e5bdb4ea295732236381b5e

部署完成后,可以启动啦!

1.2启动ratel

切换到以下目录:

cd /root/ratel/landlords-server/target 

输入以下命令,启动:

java -jar landlords-server-1.4.0.jar -p 1024
071255cfaaf6c333697bf62e186823dc

显示以上信息就为成功啦!

在开一个终端,启动终端不要断,切换到这个目录下:

cd /root/ratel/landlords-client/target 

验证一下1024端口是否启动成功:

netstat -tunlp |grep1024

输入以下命令,连接:

java -jar landlords-client-1.4.0.jar -p 1024 -h 192.168.42.140 

(-h后面是你的ip地址,不要填错~)

40736a3098f75b82478cd3feaacd02c9

如图则加入游戏成功,可以玩啦!

1.3斗地主摸鱼开始

这边显示连接成功:

image-20250929161648228

启动终端就会有消息,有连入信息:

image-20250929161721733

输入Nico:

image-20250929162024869

我这里选择【2】与ai对抗,选择【2】以后选择模式,我选择【1】简单模式:

image-20250929162214045

选择【1】后游戏就开始啦!

cc975f7efd17ab3507b6b5b7caf8594e

如图操作:

9aa83e77eba1e0fd015602e26d698ac0
bad1771cd8eb0100362d55a15ccc21c4
  • 王炸:sx
  • 顺子:34567
  • 三带一:3334
  • 飞机:333444a2
  • 单张10:0或者t
  • 单张A:a或者1
  • 封顶顺子:34567890jqka
  • 不想出牌: passp
  • 退出: exit或者e

一个人摸鱼哪够爽?独乐乐不如众乐乐!

现在,是时候拉上同事一起“协同办公”了。

接下来,我们用 cpolar 打通内网,让全组都能连上你的斗地主服务器——摸鱼,就要摸出团队精神

2.安装cpolar与同事一同摸鱼

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

官网在此:https://www.cpolar.com

使用一键脚本安装命令:

sudocurl https://get.cpolar.sh |sh
e464b045413a024674a93ea472511b0f

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar 
aa03713b56d9eef12a4da6b99d2e46ac

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://192.168.50.100:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

3af79ad708cc47c5bbea0b63c2c7230d

3.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:ratel,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:192.168.42.140:1024
  • 端口类型:随机临时TCP端口
  • 地区:China Top
image-20250929163144713

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在终端中访问即可。

  • tcp 表示使用的协议类型
  • 2.tcp.cpolar.top是 Cpolar 提供的域名
  • 16749是随机分配的公网端口号
image-20250929163205444

通过 Cpolar 提供的公网地址和端口,可以从任意一台主机连接到斗地主游戏!

连接成功!

image-20250929163411348

4.保留固定TCP公网地址

使用cpolar为其配置TCP地址,该地址为固定地址,不会随机变化。

image-20250814104012158

选择区域和描述:有一个下拉菜单,当前选择的是“China VIP”。
右侧输入框,用于填写描述信息。
保留按钮:在右侧有一个橙色的“保留”按钮,点击该按钮可以保留所选的TCP地址。
列表中显示了一条已保留的TCP地址记录。

  • 地区:显示为“China Top”。
  • 地址:显示为“27.tcp.cpolar.top:10156”。
image-20250929164544578

修改隧道信息,将保留成功的TCP端口配置到隧道中。

  • 端口类型:选择固定TCP端口
  • 预留的TCP地址:填写保留成功的TCP地址

点击更新

image-20250929164623855

创建完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的TCP地址。

image-20250929164656785

最后测试一下固定的地址是否可以连接:

结尾

Ratel 斗地主服务器本身是一款实用性很强的轻量休闲工具,解决了日常碎片时间的休闲需求,但局域网的限制让它的使用场景大打折扣。而 cpolar 内网穿透的结合,并非是打造所谓的 “摸鱼神器”,而是实实在在解决了跨网络访问的核心问题,让这款轻量软件的使用场景更贴近日常需求 —— 不管是和同事在工作间隙的短暂休闲,还是和同学异地的轻松娱乐,都能在合规合理的前提下,享受简单的游戏乐趣。技术的价值本就是优化使用体验,这款组合恰好印证了这一点,低调使用,适度休闲,才是最贴合实际的使用方式。

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Read more

Flutter 三方库 junitreport_maintained 的鸿蒙化适配指南 - 实现标准 JUnit XML 测试报告的端侧生成、支持自动化测试结果汇总与 Jenkins/CI 集成实战

Flutter 三方库 junitreport_maintained 的鸿蒙化适配指南 - 实现标准 JUnit XML 测试报告的端侧生成、支持自动化测试结果汇总与 Jenkins/CI 集成实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 junitreport_maintained 的鸿蒙化适配指南 - 实现标准 JUnit XML 测试报告的端侧生成、支持自动化测试结果汇总与 Jenkins/CI 集成实战 前言 在进行 Flutter for OpenHarmony 的大规模工程化开发时,测试驱动开发(TDD)是保障应用质量的关键。但 Flutter 默认的测试输出主要是控制台文本,难以直接接入专业的持续集成(CI)可视化控制台。junitreport_maintained 是一个能将 Dart 测试结果转化为标准的 JUnit XML 格式的工具。本文将介绍如何在鸿蒙端构建极致的自动化测试反馈链路。 一、原直观解析 / 概念介绍 1.1 基础原理 该工具通过管道符(

By Ne0inhk
【Linux】进程调度算法、进程切换、环境变量

【Linux】进程调度算法、进程切换、环境变量

前言 这篇文章聚焦 Linux 的进程调度算法、进程切换与环境变量:拆解调度规则如何分配 CPU 资源,解析进程切换的底层步骤,梳理环境变量对程序运行的影响,帮你理清这些机制在系统中的核心作用。 ⚙️ Linux 进程篇 【 冯诺依曼体系 + 操作系统 】 【 进程概念 + PID + fork函数 】 【 进程状态 】 【 进程优先级 】 目录 ------------进程调度------------ 1、进程调度概念 2、位图(bitmap)中位的定位与状态判断 3、进程调度流程 ------------进程切换------------ 1、进程切换概念 2、进程上下文是什么? 3、cpu中的寄存器是什么? 【问题】:为什么函数返回值会被外部拿到? 【问题】:系统如何知道进程当前执行到哪行代码? 4、如何进行进程切换? 【小故事】:学生当兵 【进程切换核心步骤】 ------------环境变量------------ 1、环境变量概念 2、

By Ne0inhk
Linux红帽:RHCSA认证知识讲解(十 二)调试 SELinux,如何管理 SELinux 的运行模式、安全策略、端口和上下文策略

Linux红帽:RHCSA认证知识讲解(十 二)调试 SELinux,如何管理 SELinux 的运行模式、安全策略、端口和上下文策略

Linux红帽:RHCSA认证知识讲解(十 二)调试 SELinux,如何管理 SELinux 的运行模式、安全策略、端口和上下文策略 * 前言 * 一、SELinux 简介 * 二、SELinux 的运行模式 * 2.1 查看和切换 SELinux 模式 * 三、SELinux 预设安全策略的开关控制 * 四、管理 SELinux 安全端口开放策略 * 五、管理 SELinux 安全上下文策略 * 六、修改 firewalld 防火墙策略 * 七、真题带练 * 答案 * 逐行讲解 前言 * 在红帽 Linux 系统的管理工作中,SELinux 的调试和管理是系统管理员经常会遇到的重要任务。 * 这些任务对于保障系统的安全性和稳定性起着关键作用。 * 本文将深入且详细地讲解如何调试

By Ne0inhk

AMD MI50 在Ubuntu 24.04下安装驱动和ROCm

MI50,千元能买到的HBM2 32G显存图形加速卡 目前这个GCN架构已经是淘汰架构了,只有CDNA(Compute DNA 专业级)和RDNA(Radeon DNA 消费级)才能安装最新的ROCm。这一代架构最后支持的版本为6.3.x。 目前推荐安装在系统Ubuntu24.04,有专门的驱动。 逐条执行以下命令: sudo apt update sudo apt install "linux-headers-$(uname -r)" "linux-modules-extra-$(uname -r)" sudo apt install python3-setuptools python3-wheel sudo usermod -a -G render,video $LOGNAME wget https:

By Ne0inhk