我试图让我的服务器从登录用户(web)获取sso并将其传递给AS3客户端.
如果我在客户端(下图)中设置了特定的SSO,则服务器从数据库中选择用户.
目前我收到错误:错误1:您的SSO票证无效.请重新登录然后重新加载.
package
{
import com.archicruise.external.RoomManager;
import com.archicruise.server.Connection;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.LoaderInfo;
import flash.display.Sprite;
import flash.events.Event;
import flash.system.Security;
import flash.system.System;
public class Main extends Sprite
{
[Embed(source = '../assets/client_back.png')] private static const clientBackImage:Class;
public static var SITE_URL:String = "http://localhost/archicruise/";
public var roomLoader:RoomManager;
private var connection:Connection;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
//Add client background
addChild(new clientBackImage() as Bitmap);
//Got an SSO ticket?
var …
Run Code Online (Sandbox Code Playgroud) 让我们想象一下非常简单的游戏...我们有一个迷宫和两个玩家试图通过互联网实时退出.
在每个移动游戏中,客户端应该将玩家的坐标发送到服务器并接受另一个客户端的当前坐标.怎么可能如此快速地进行这种交换(就像所有现代游戏一样).
好的,我们可以使用memcache或类似技术来减少服务器端的数据挖掘操作.我们也可以使用最快的网络服务器等,但我们仍然会遇到时间问题.
所以,问题是......
一些MMO实时策略游戏,如Travian或oGame,都是用PHP编写的.
你能简单解释一下这种游戏在幕后的运作方式吗?游戏如何在没有玩家请求的情况下进行实时数据库更新?
此外,在运行RTS游戏(例如拥有1000个活跃玩家的Travian)时,人们可以期待什么样的服务器负载/带宽?
我想知道Firebase的性能(延迟,吞吐量)是否足以在线使用实时MMO游戏.
有足够知识的人可以分享他们对此的看法吗?
可以使用Firebase代替套接字进行实时游戏吗?
我试图用python设计一个mmo游戏......
我已经评估了stackless,因为它不是一般的python而且它是一个fork,我不想使用它
我试图在pysage candygram dramatis和parley之间做出选择
任何人尝试这些库中的任何一个?
非常感谢您的回复
我试图搜索如何制作一个MMO并总是找到相同的回复,这是不可能的或需要很多钱,但从来没有给出如何制作一个指南.
我想构建一个非常可扩展的东西,我目前关于如何构建MMO的想法如下:
组件:
操作:
以及我的问题:
而且我不认为我现在忘记任何事情要求并抱歉这个大帖子......
我是一个MMO游戏的开发者,目前我们在我的公司面临一些可伸缩性问题,我认为,这些问题可以通过适当的游戏世界聚类来解决.
我真的不想重新发明轮子,这就是为什么我认为Linux Virtual Server可能是一个不错的选择,特别是使用一些7级负载平衡技术.
我目前正在将ktcpvs视为负载平衡解决方案,并想知道它是否是一个合适的选择.
主要思想是在专用服务器上运行多个区域(就我的游戏而言"位置").当玩家决定前往某个特定位置时,负载均衡器会决定哪个区域服务器将实际为玩家提供服务(这实际上是我需要7级负载均衡器的原因)
你们对上述所有人都有什么看法?
更新:我向LVS用户发送了相同的问题邮件列表http://marc.info/?l=linux-virtual-server&m=124976265209769&w=2
更新:我也在gamedev.net论坛http://www.gamedev.net/community/forums/topic.asp?topic_id=544386上开始了类似的话题
我正在开发一款多人在线游戏.我有以下问题:
当用户断开他/她与服务器的连接时,他需要重新连接.在第一次连接时,在注册期间,注册模块会生成一个特殊的ResponseDispatcher,它保存对连接Channel的引用.但是,如果用户注销,则此频道将变为无效.即使我可以检测到问题并清理资源,我也必须将注册模块和连接模块的引用存储到游戏模块,以便在用户授权并重新连接时更新频道.这会在模块之间产生很多相互依赖性,并且很难维护.
我需要的是类似Servlet容器中的HttpSession,这样我就可以从我服务器的所有模块中获取对我的通道和会话资源的引用.
如何在Servlet中实现HttpSession?它是一个存储所有JSESSIONID的全局hashmap,容器从哪个容器确定要返回的属性映射?如果它是一个全局的sysmbol表,它会达到性能(即使hashMap的时间是O(1),可能会有会话修改,所以它可能必须同步)?
PS.也许这个案例的设计模式的一些建议也会做.
我已经完成了我的研究,但是我很难理解为什么有人会想要使用这些类型的服务器(Photon,SmartFox等)来进行游戏编程,因为它们已经提供了像.Net框架这样的东西.
我似乎很难理解使用这些昂贵的服务器之一而不是滚动自己的好处.编码游戏网络的大部分工作都不是你必须做的事情吗?
我想创建一个多人服务器/客户端游戏,但我从StackOverflow的专业人士那里听说像Photon这样的东西不值得付费,因为他可以"在一两天内为他的游戏创造类似的东西".我的用法是一个游戏,既是单人游戏,也是多人游戏COOP(客户端到客户端),如果它的销售情况良好,或者我只为该功能(服务器/客户端架构)获得kickstarter资金,可能是MMO.尽管很可能,我会像Valve那样对游戏进行编程,甚至单人游戏都是服务器/客户端架构,"服务器"位于客户端的离线系统上.
使用Photon比使用C#.Net制作自己的游戏服务器有什么好处?
我正在尝试为MMO游戏制作一个架构,我无法弄清楚如何在游戏对象中存储尽可能多的变量而没有很多调用在我更新它们的同时在线上发送它们.
我现在拥有的是:
Game::ChangePosition(Vector3 newPos) {
gameobject.ChangePosition(newPos);
SendOnWireNEWPOSITION(gameobject.id, newPos);
}
Run Code Online (Sandbox Code Playgroud)
它使代码变得垃圾,难以维护,理解和扩展.想想一个冠军的例子:
我必须为每个变量创建很多函数.这只是这个冠军的概括,我可能每个冠军类型/"类"都有1-2个其他成员变量.
如果我能从.NET或类似的东西中获得OnPropertyChange,那将是完美的.我想要的架构可以很好地工作,如果我有类似的东西:
对于HP:当我更新它时,自动呼叫 SendFloatOnWire("HP", hp);
对于位置:当我更新它时,自动调用 SendVector3OnWire("Position", Position)
对于名称:当我更新它时,自动调用 SendSOnWire("Name", Name);
什么是完全相同SendFloatOnWire
,SendVector3OnWire
,SendSOnWire
?在char缓冲区中序列化这些类型的函数.
或方法2(优先),但可能很昂贵
更新Hp,正常定位,然后每个网络线程勾选扫描服务器上所有已更改变量的GameObject实例并发送它们.
如何在高规模的游戏服务器上实现,我有哪些选择?这类案件有用吗?
宏会变得有用吗?我想我已经开发了类似的一些源代码,我认为它使用了宏.
先感谢您.
编辑:我想我找到了一个解决方案,但我不知道它实际上有多强大.我打算去看看,然后看看我的立场.https://developer.valvesoftware.com/wiki/Networking_Entities