你的昵称就是你的邀请链接
邀请别人来 opolyx,你们双方各得 200 点经验——在对方打完一局真正的对局之后发放,注册时不发。你的链接就是网址后面加上你自己的名字。

通俗版
大厅里现在有一张邀请卡,就在你的每日目标下方。上面只有一个链接,那是你的,也没有什么需要生成:你的邀请链接就是站点网址后面加上你自己的昵称。复制它,发给你想请上牌桌的人,就这样。
当有人通过你的链接来到这里并打完第一局真正的对局,你们双方各得 200 点经验——两人合计 400 点,且是在那局本身给出的奖励之外。你能带来多少人没有上限,也不需要领取:经验会自己到账。
唯一值得知道的是发放的时机。好友注册时什么都不发,只有在对方真正把一局打到最后才发。这是刻意的:从不游玩的账号对谁都没有价值,而在注册时就发奖的邀请,等于鼓励制造空账号而不是带来真实的人。这也意味着链接在发出之后很久仍然有效——四月收藏、六月才开始玩的人同样算数。
技术细节
邀请码用的是邀请者的昵称,而不是一串生成的字符,这是设计上的决定,不是图省事。用名字拼出来的链接经得起被大声念出、凭记忆重新输入、或粘进一个会把它弄坏的聊天框,而且它会直接告诉接收者这是谁发来的。它无需查找表就能工作,因为昵称本就唯一,并且本就只允许字母、数字和下划线——那是站点在该位置所接受字符的一个严格子集——所以名字可以直接解析,且不受大小写影响。
这件事不寻常的地方,在于有多少部分早就存在。相关数据表是在这个项目最早的几次迁移之一里加进来的,而站点从那时起就一直悄悄把邀请参数记进一个 cookie——一个从来没有人读过的 cookie。也就是说,这条闭环的两端已经就位好几个月,中间却是空的:既没有办法看到自己的链接,也没有任何代码会把那个 cookie 变成一条被记录下来的邀请。中间那段被写出来的当天,两张表都还是空的。
| 记录内容 | 时间 |
|---|---|
| 谁邀请了谁 | 被邀请者首次登录时 |
| 双方获得的经验 | 当对方打完第一局真正的对局 |
这套发放拒绝的情况多过接受:你不能邀请自己,不能被算到那些填满空房间的常客名下,一条邀请只写入一次、不会被后来的链接覆盖,而且在背后没有一局真正的对局之前什么都不发。发放是幂等的,所以一局对局结束两次——一次重试,一次写入中途的部署——也不可能付两次。奖励本身由一个只有服务器才能调用的函数发出。
