在服务器上加载 .tmx 文件并将其发送到客户端

Loading a .tmx file on a Server and send it to a Client

我有一个 TiledMap,我想将 .tmx 文件存储在服务器上。 当玩家连接时,他应该接收 .tmx 文件作为 "Class"/"Ressource"(?),然后使用 .tmx 文件加载地图。

我的问题是,我可以将 .tmx 文件存储在哪个对象中以将其发送过来,然后加载地图?

例如:

在服务器上:

InputStream is = TiledMap.class.getResourceAsStream("map.tmx");

然后一个玩家连接,他通过我的 Kryo 引擎接收这个对象并加载地图:

TiledMap map = new TmxMapLoader().load(>>THE OBJECT RECIEVED<<);

希望有人能提供帮助,在此先感谢:)

我认为你把这个复杂化了。我知道您不希望玩家能够通过修改地图作弊。但是如果资产还在客户端,玩家可以直接修改。所以你必须检查资产文件是否未修改。如果您正在检查一个文件是否在客户端被修改,那么检查两个文件是微不足道的。

您对客户端映射进行哈希处理,将其发送到服务器并检查该哈希值是否与服务器上的哈希值相同。这是你应该走的路。不向客户端发送对象的实例。

这个 post 应该可以帮助您获得 Getting a File's MD5 Checksum in Java