🛠 用 FRP 解决远程访问难题:从安装到使用的最简指南

在远程办公、远程维护设备已经成为常态的今天,我们常常会遇到一个头疼的问题:

明明家里有公网 IP,为什么在公司却连不上家里的电脑? 为什么公司电脑没有公网 IP,我在外面就远程不了?

……

阅读全文

基于 WebDAV 的 iOS 播放器开发实践:从需求到落地的完整过程

最近想在 iPhone 上找一个无广告、免费的 WebDAV 视频播放器。简单搜索之后发现:不是强制付费,就是夹杂广告,要不就是功能阉割。既然找不到适合自己的,那就干脆自己动手做一个。

正好家里有一台 Mac mini (M4),环境齐全,于是开启了我作为“小白开发者”的 WebDAV 播放器开发之旅。

……

阅读全文

Windows 远程 Mac mini:iOS WebDAV 播放器开发实践

最近在开发 iOS 平台的 WebDAV 播放器,开发环境选择的是 Mac mini。但实际使用中,我的主力机仍然是 Windows,而且只有一个显示器。如何在不频繁切换设备、不额外增加硬件成本的前提下,高效地远程使用 Mac mini,就成了一个绕不开的问题。

这篇文章就结合我自己的实践,聊一聊 Windows 远程 Mac mini 的几种方案对比,以及我最终的选择。

……

阅读全文

从 0 到 1:一个 SLG 游戏的基础架构、Tick 优化与扩展方向

在写 SLG(策略类)游戏时,真正决定系统能走多远的,从来不是玩法堆得有多满,而是底层结构是否稳定、是否可扩展

这篇文章记录的是我在实现一套 SLG 服务端基础架构过程中的完整思路:

  • 如何从 0 到 1 搭建一个最小可运行的 SLG 骨架
  • 在规模出现之前,提前解决 tick 驱动下的性能问题
  • 以及这套结构未来可以如何自然扩展
……

阅读全文

一次车祸之后:我才真正理解“交强险”和人性

这是一条迟到很久的 vlog 文本版。

不是为了博同情,也不是为了复盘谁对谁错,只是想把第一次真正经历交通事故的全过程记录下来,也许能帮到以后遇到同样事情的人。

……

阅读全文

从 Master / Slave 到路由系统

一次服务器集群治理的重构思考

在使用当前自研服务器框架的过程中,我反复遇到一个问题:

一旦业务涉及多节点协作,系统复杂度就会迅速上升。

……

阅读全文

Stub(管理服务)、Room 与 Player 的关系管理

一次关于“权威边界”的服务器设计思考

在多节点服务器架构中,玩家与房间(Room)的关系管理几乎是一个无法回避的问题。

表面上看,这不过是一个简单的映射关系:

player_id -> room_id
……

阅读全文

锁与虚位占用

分布式房间加入的一次工程性选择

在多人实时系统中,“加入房间”是一个看似简单、但极易出问题的流程。
真正的复杂度,往往隐藏在并发与分布式之下。

本文从一个非常具体的问题出发,聊一聊我在 Skynet 架构中,为什么最终选择了虚位占用,而不是传统的

……

阅读全文

并发创建房间问题的两种工程化解法

在实时对战、匹配类系统中,「创建房间 + 加入房间」是非常核心的一条链路。但只要这条链路中 存在会让出协程的操作(DB、RPC、跨节点加载实体等),并发问题就几乎不可避免。

一个典型现象是:

多个玩家几乎同时请求加入房间
系统判断“当前没有未满房间”
最终却创建出了多个未满房间

这并不是代码写错了,而是并发 + 协程让出下的必然结果。

下面总结两种在实际工程中可落地、可维护的解决思路。

……

阅读全文