• XBOX ONE游戏开发常见问题


    XBOX ONE游戏开发常见问题

    终于弄懂这个在Unity的sdk在Account Picker切换账号的机制了,一个手柄注册一个账号,在游戏里面的时候,只有另外一个手柄选择自己的账号,系统的Active User才改变

    如果同一个手柄选择另外一个账号的话,不改变系统active user

    最基本的 如何让XBOX开发机 开启开发模式?

    勾开发者套件

    在系统里面依次按下LBRBLTRT

    然后重启,重启后会有 开发者设置,里面可设定沙盒等参数

    1.微软提供了一个DelegatedAuthServer的ASP.NET网站例子,作用是做SSO登陆服务器

    restService.svc里面有一个方法messageOfTheDay

    主要是用于测试XBOX Console 发来的令牌解密,

    在XBOX Console里调用DLL IMPORT 函数XboxLiveService_CallWebService

    会返回False或True,一般False表明用户没有登陆,当然还有其它的几种情况

    生成证书,原文档有一些错误,主要是最后-号有问题,然后是生成文件名没有放在最后

    正确的如下:

    makecert -sv RP_Private_Key.pvk -n "CN=Contoso Relying Party" -b 01/01/2015 -e 12/31/2199 -sky exchange -ss My -a sha256 -len 2048 -r -pe RP_Cert.cer

    服务器的证书还出过一次问题,现象为XBOX Console没有把令牌发过来,

    经查看服务器,发现证书的私钥管理的用户里,原来的SERVICE变成了?号,重新添加了一下

    然后又重新导入后RelyingPart证书解决

    *如何得知上面说的其它的几种情况?

    由于这个代码是C++写的,在C#中调试,需要启动2个visual stuido2013,

    c++项目 选择附加到进程-》XBOX Console 的IP ,在列表中选择XboxOnePlayer.exe

    这样就可以调试从托管环境到非托管环境

    2.使用UNITY来编写XBOX游戏,使用UNITY提供的插件,出现闪退

    UNITY提供的插件有托管的和非托管的,是配对的

    比如Friends.dll(C++),那么就有一个FriendsImport.dll(C#),

    通过非托管和托管之间进行数据交互,回调

    如果少导入一个,启动时会出现闪退,并且编译器也不会提示出错

    3.在UNITY发布时出现错误

    Failed to Push deploy, AUMID and PFN could not be found in the output.
    args: Push "C:/Users/FUX-hp/Desktop/MP2105/MP2105/BuildingMP2105"

    那时因为UNITY生成的文件都很大,每一次编译需好几分钟,为提高发布效率

    有几种DEPLOY METHOD

    PACKAGE为完整发布

    PUSH和PULL是快速发布

    必须先完整发布一次,直接使用PUSH就会报这个AUMID and PFN could not be found的错

    4.在编写多人游戏功能时,调用tryWriteSessionAsync时报错0x810910900,但是参数是对的

    需要先注册RTA,否则会出这个错

    RTAMultiplayerManager.RegisterBothCallbacks(

    5.XBOXLIVE服务器抽风造成的问题

    某天周一,下午下班后仍在调多人游戏接口,结果程序报异常

    还打出好多EXCEPTION,开始是以为程序没布好,但是自已没改过代码

    经查看发现

    NETRUM: MatchmakingSession::BeginMatchmaking()
    NETRUM: SwitchState CreateLobby -> Lobby
    == [XBOX SERVICE CALL] #8
    [HttpMethod]: POST
    [URI]: https://momatch.xboxlive.com/serviceconfigs/8d950100-0b51-40ad-a13c-b0fb56d74423/hoppers/GoodReputationHopper
    [RequestHeaders]: Accept-Language: en-US; Content-Type: application/json; charset=utf-8; x-xbl-api-build-version: xdk,6.2.13004.0; x-xbl-build-version: current; x-xbl-contract-version: 103;
    [RequestBody]: {"giveUpDuration":300,"preserveSession":"never","ticketSessionRef":{"scid":"8d950100-0b51-40ad-a13c-b0fb56d74423","templateName":"LobbySession","name":"lobby-bb81e728-412c-4c57-a6b7-9a30cd6244b1"}}
    [ErrorCode]: 0x00000000
    [HTTP Status]: 504
    [HRESULT]: 0x801901f8 HTTP_E_STATUS_GATEWAY_TIMEOUT
    [ResponseHeaders]: Connection: close; ;

    原来是XBOXLIVE服务器抽风,上官网一看果然如此

    http://support.xbox.com/zh-CN/xbox-live-status?icid=furl_status

  • 相关阅读:
    java之md5加密算法
    springboot之快速创建项目
    java之idea打jar包
    java只http改成https访问
    springboot之读取配置文件
    springboot之项目打包
    Git之fatal: remote origin already exists
    WebStorm ES6 语法支持设置和ES6语法的JS文件编译为ES5语法文件
    转 JavaScript里的数组转化新方法Array.From
    网页特殊符号HTML代码大全
  • 原文地址:https://www.cnblogs.com/jiahuafu/p/5191841.html
Copyright © 2020-2023  润新知