【发布时间】:2023-03-21 22:08:01
【问题描述】:
喂
所以我想在php上做一个多人游戏,我采用了随机生成链接的方法。
例如 skribbl.io 游戏,它会在按下“创建私人房间”后,创建一个随机链接让您的朋友加入:
skribbl.io/?random_string
like skribbl.io/?h4fwY8Ef
所以对我来说,看起来他们有一个没有名称的 php 文件,他们提供随机字符串作为参数。 但我无法制作无名 php 文件。
所以我选择的是每次用户为我的游戏单击“创建私人匹配”时,一个 php 脚本将复制一个已经存在的包含服务器端工作的 php 脚本,但将其命名为 random_string.php,如 @987654322 @所以玩家会在网址中写下:
mygame.com/y4aHr329sJ
(由于 apache .htaccess 规则而没有 .php)
但缺点是对于每个想要“创建私人房间”的人,我会在服务器上复制更多不必要的文件。
甚至认为我有一个脚本可以在游戏过期后删除所有过期的 random_string.php 文件(在每天开始时运行脚本并删除 1 天前的文件)
我仍然认为这会适得其反。
顺便说一句,我知道会做类似mygame.com/join?random_string 的事情,但我不是特别喜欢它。
我也不喜欢 apache .htaccess 自动将mygame.com/random_string 变成mygame.com/join?random_string,因为有些玩家喜欢从地址栏中复制链接,而不是从“分享此链接”框中复制链接。
另外,如果有没有 skribbl.io 在skribbl.io/*?*random_string 中使用的问号的解决方案,我会更喜欢它。
您的帮助意义重大。 提前致谢!!
【问题讨论】:
-
您考虑过使用数据库吗?
-
您已经在使用 htaccess 来删除 .php。为什么不使用它将所有流量也发送到单个文件?
-
“看起来他们有一个没有名称的 php 文件” - 不。他们甚至可能没有使用 PHP。他们有一些服务器端代码响应该服务器上的根 HTTP 请求,并且该代码检查查询字符串的值。 “会复制更多不必要的文件” - 是的,没有理由这样做。通常,数据库中有数据,用户可以修改该数据,代码将使用该数据动态生成响应。
-
我会检查一下 rjdown,我是 .htacces 中的菜鸟,所以我不知道它存在。
-
好的,David 你说的是服务器端代码。这是 rjdown 建议的 .htaccess 方法吗??
标签: php multiplayer real-time-multiplayer