<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>租约机制 on PlumePHP</title><link>https://plumephp.com/tags/%E7%A7%9F%E7%BA%A6%E6%9C%BA%E5%88%B6/</link><description>Recent content in 租约机制 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Mon, 20 Dec 2021 08:43:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/%E7%A7%9F%E7%BA%A6%E6%9C%BA%E5%88%B6/index.xml" rel="self" type="application/rss+xml"/><item><title>游戏服务器 NPC 刷新租约架构设计</title><link>https://plumephp.com/game-server-npc-spawn-lease-architecture/</link><pubDate>Mon, 20 Dec 2021 08:43:00 +0800</pubDate><guid>https://plumephp.com/game-server-npc-spawn-lease-architecture/</guid><description>&lt;p&gt;NPC 刷新看似简单：定时在坐标点生成怪物。真正上线后，地图分线、热区迁移、动态事件、服务器重启和玩家引怪都会让问题复杂起来。某个野外精英如果被两个地图服同时刷新，玩家会刷出双倍奖励；如果地图服崩溃后没人接管，世界事件又会卡住。NPC 刷新租约架构的思路，是把刷新点的所有权从地图服内存里拿出来，通过可过期、可续约、可抢占的租约控制谁有权生成和推进某个刷新点。&lt;/p&gt;</description></item></channel></rss>