问题标签 [online-game]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
42 浏览

internet-explorer - 在 Windows Phone 的 Internet Explorer 控件中使用本地图像

我打算为Windows Phone. 为了使它更容易移植,我希望它是HTML基于 - 的,因为它是一个在线游戏,它html通过http. 但为了尽量减少数据使用,我希望游戏中的所有图像都在手机存储中。那么如何创建一个显示在Internet Explorer控件中使用本地图像的网站呢?

0 投票
1 回答
2640 浏览

c# - NAT Traversal 仅使用 C# 中的免费 STUN 和 TURN 服务器

我正在尝试制作一个在线游戏应用程序,它通过 Internet 与另一台 PC 点对点通信。由于两台电脑都可能在 NAT 下,而且我买不起外部服务器,我认为唯一的方法是使用免费的 STUN 和 TURN 服务器,例如Numb

但是,经过一些研究,我无法弄清楚如何使用这些服务器进行连接。

真的可以只使用那些服务器来做到这一点吗?如果是,你会怎么做?或者有更简单的方法吗?

我可以为此使用 UDP 或 TCP。

0 投票
1 回答
617 浏览

javascript - 为什么我无法在客户端(在浏览器中)打开 UDP 连接?

我知道那里有 WebSockets。我从它本身来看是语言飞镖的一个例子。

那只不过是创建新的连接并已经使用它。那就是建立一个单独的线程(其实就是在其中运行javaScript)连接建立等等。为什么然后 dart 和 JavaScript 我不能在同一个线程中打开一个简单的 UDP 连接并与他一起工作?

PsUDP 更适合在线浏览器实时游戏。

0 投票
1 回答
583 浏览

html5-canvas - 用于在线五子棋游戏的 html5 画布或 dom

我开始开发一个在线五子棋游戏。我不确定是使用html5画布还是使用dom和css。你能告诉我移动和动画片段的每种方法的优缺点吗?

0 投票
1 回答
3503 浏览

automation - Autohotkey: Scrape text from window (LOTRO)

I am fairly advanced with my LOTRO scripting, but sadly, have not figured out a way to capture data from the chatbox. I am trying to write an external mapping application and would like to have autohotkey automatically grab data from the screen, particularly the location data that has the heading, by typing:

inside of the chat box.

This image is linked to imgur with the areas I am trying to capture highlighted.

I find it very odd as I can highlight the text in the window easily, and copy and paste it to notepad or any other wordpad editor.

I have tried to following methods to attempt to gather the text from the window, but I cannot seem to find any controls or text, even when running the script as administrator.

Any ideas?

0 投票
1 回答
489 浏览

node.js - Security to prevent hacks in a game with node server

I am making a browser card game. Each player has a number of purchased cards out of a big pool of available cards.

I need to make sure a player can not hack the cards he uses from the browser, so the server must authenticate he owns each card he uses and it is indeed the same card.

In order to make the app faster I want to store the cards data in an external JSON file and only say "player x owns cards y and z" and get the info on those cards from the JSON.

Are there any security patterns that can help me here?

0 投票
1 回答
240 浏览

java - 如何可靠地将游戏服务器 jar 部署到机器上?

好吧,我现在有一个游戏服务器在我的本地开发机器上运行,但我想将它部署到真正的服务器机器上。最简单的方法是将 jar 文件传输到服务器并使用 java -jar server.jar 运行它。但我想可靠地将这个 jar 部署到服务器并让它像守护进程一样运行。如果 server.jar 崩溃或内存不足,上述命令将终止,但我没有重新启动服务器。其次,我希望它可以部署到多个物理服务器。因此 server.jar 在许多物理机器上启动并作为守护进程继续运行。

我曾考虑在 Java EE 中的 servlet 中运行服务器,但我认为这行不通,因为 Java EE 要求您的应用程序不会自行创建套接字。而且因为我使用 kryonet 作为网络库,所以我无法阻止我的应用程序这样做/我不知道如何克服这个问题。

有什么办法可以做我想做的事吗?也许为此任务构建了任何应用程序建议或框架?

谢谢

0 投票
1 回答
57 浏览

multithreading - 为什么这个在线游戏一段时间后会失去同步?

我正在制作一个简单的在线游戏,但我遇到了不同步的问题。服务器采用 IOCP 实现,由于游戏几乎总是在 LAN 中进行,因此延迟相对较小。

网络连接的核心算法可以描述如下:(一个fam有4个client)

  • 客户端每帧将他们的动作和自上一帧以来经过的时间发送到服务器,然后等待服务器的响应。
  • 服务器收集所有四个客户端的消息,将它们连接在一起,然后将其发送给所有四个客户端。
  • 收到响应后,客户端会使用响应中提供的消息更新他们的游戏。

现在,我可以看到一段时间后,这四场比赛不同步了。可以观察到我所控制的游戏与其他三个不同(这意味着其他三个是相同的),只是通过走动就会出现问题。

下面是代码,如果它可能有帮助:

首先,服务器。每条消息都将在单独的线程中处理。

和客户的CGame::Update(float game_time)方法:

非常感谢。如果需要,我会提供更多细节。

0 投票
2 回答
107 浏览

c++ - 为什么在注释“cout”时此代码不起作用?

我正在为基于 IOCP 的在线游戏编写服务器,处理游戏消息的核心代码如下所示:

现在,问题是:在PC上,当所有cout评论都像上面一样时,游戏会立即冻结;但是当我取消评论时,服务器运行良好。

更重要的是,当我在笔记本电脑上运行服务器时,无论我是否评论,一切都很好cout。我的笔记本电脑和 PC 之间的主要区别在于我的笔记本电脑的操作系统是 Windows 8.1,而 PC 是 Windows 7。

我完全糊涂了。如果有人能告诉我该怎么做,那将有很大帮助。谢谢!

0 投票
1 回答
838 浏览

c# - 开发在线多人游戏的服务器端

在开发多人游戏的服务器时,我有一些关键问题。我需要最好的概念,然后我将在 C# 和 PHP 中使用它。目前我想做一个这样的游戏:

在线多人球拍游戏

按钮球拍是我的,鞋面是你的。我需要每 40 毫秒传输一次数据以刷新屏幕。第一个想法是我编写一个 Web 服务来计算对象的当前位置并以 JSON 形式响应客户端。

但问题是服务器上的数据。我无法在客户端之间共享会话数据。我想使用 DB,但它太慢了以至于不能使用!有没有办法在一个 Web 服务的不同客户端之间共享数据?

第二个问题:使用网络服务好不好?我想到了套接字,但问题是我们在服务器上有多少端口可以响应客户端请求?如果网络服务很好用,那么当任何客户端没有请求数据并且网络服务关闭时,我怎样才能提前服务器中的游戏时间?