C++ 游戏服务器需要特定于正在玩的游戏的服务器代码,还是只是在客户端之间交换IP地址?
如果我想把我的一台旧电脑变成游戏服务器,让我和我的朋友一起玩游戏(只有我和我的朋友,这不是任何玩在线游戏的人都可以使用的服务器)。服务器是否需要知道游戏是如何工作的,或者游戏服务器只是告诉客户端在哪里可以找到其他客户端C++ 游戏服务器需要特定于正在玩的游戏的服务器代码,还是只是在客户端之间交换IP地址?,c++,server-side,lan,C++,Server Side,Lan,如果我想把我的一台旧电脑变成游戏服务器,让我和我的朋友一起玩游戏(只有我和我的朋友,这不是任何玩在线游戏的人都可以使用的服务器)。服务器是否需要知道游戏是如何工作的,或者游戏服务器只是告诉客户端在哪里可以找到其他客户端 我可以用一些基本的UNIX套接字编程来实现这一点吗?或者这是一个比我预期的大得多的项目吗?答案当然取决于游戏本身,但有3种流行的选择: 游戏客户端结合了一些服务器代码,因此可以在服务器模式下运行(大部分是旧的FPP游戏,因为新游戏不允许玩家自己托管服务器) 服务器只是提供一个接口
我可以用一些基本的UNIX套接字编程来实现这一点吗?或者这是一个比我预期的大得多的项目吗?答案当然取决于游戏本身,但有3种流行的选择:
第三种方法是最流行的方法,因为它让游戏创作者对他们的产品有一定的控制权——自动更新,更难获得在网络上工作的非法副本,等等。这可能取决于游戏的类型,但我要说的是,大多数需要服务器的游戏都会运行特定的服务器程序……否则,为什么有服务器?例如,Minecraft服务器实际上运行Minecraft游戏的服务器版本。服务器负责世界生成、暴徒移动等,而不仅仅是在客户端之间路由数据包。这可能需要移动到,因为它更多地是关于软件的“架构”而不是特定的编程问题?有些游戏,如一些赛车游戏,具有“局域网”模式,本地网络上的一台计算机可以充当本地网络上其他计算机的服务器。将其与VPN(虚拟专用网络)相结合,可以在互联网上玩这样的游戏,因为VPN模拟局域网。另一个极端是,有些人通过观察客户端代码和游戏使用的I/O数据包来复制服务器端应用程序。这是为一些游戏所做的,以替换原游戏制造商关闭的服务器。