Coder Social home page Coder Social logo

gameprogressive / unispysdk Goto Github PK

View Code? Open in Web Editor NEW
36.0 36.0 13.0 11.14 MB

Updated and Cleaned GameSpy SDK

License: Other

C 68.12% C++ 6.21% Makefile 5.26% Objective-C 0.02% C# 1.99% Shell 3.29% M4 0.21% Roff 10.29% Batchfile 0.07% Inno Setup 0.02% CMake 0.51% PostScript 3.88% HTML 0.13%
gamespy http multiplayer nat online retrospy sdk serverbrowser voice

unispysdk's People

Contributors

arves100 avatar dimhotepus avatar koujiangheng avatar omniblade avatar opna2608 avatar thomasnet-mc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

unispysdk's Issues

Add support for TLS

The SDK is missing TLS support (only supports SSLv3 witch is deprecated now).
Since writing an TLS engine from scratch could be long, another alternative is to bundle OpenSSL support, witch is not integrated, or upgrading to newer MatrixSSL version.
TWLSSL/REVOEXSSL are Nintendo SSL modules for their console.

Can't save or open a file in iOS devices

iPhone/iPad/iPod devices, according the the GameSpy Open SDK 1.0, doesn't allow using the C function fopen. (The same thing also happens on Android), the Open SDK fixed this isse by using gsifopen, a resonable solution for iDevices while keeping support for the platforms that supports it.

This function MUST be ported into the current SDK to allow iOS devices to fully operate.

Linux and XCode project needs adjustments

Linux platform project and XCode exists in this SDK, but they use the old styling (witch i really disagree with).
The files are SIMPLE builded with the application, it could be REALLY annoying to compile all the SDKs for any need, that's why in the Windows project, each folder rappresents a static library that are linked with the tests/applications.
I could not help with XCode since I don't own a Mac.

Fix exploits reported

According to this site, there are several exploits in the SDK/Server. Someone should look at these and report/fix the following bugs to allow a safer usage of the SDK. (According to Luigi Auriemma, the guy who discovered this bug, none of this bug have been fixed in public builds)

Add 'gameID' to WebServices

OpenSDK uses a newer version of WebService SDK (witch unfortunally we don't have access to source code since it was a prebuilded library), on the header file (saved in this SDK as AuthServiceOpen.h) there are contained several functions that make use of a new parametra called gameID (On the current SDK it's not present).

In my opition, this part was added to allow GS-SDK to connect with a specific gameID. (Witch could be used, for example, to block access to old games?)

However, this new parametra MUST be merged in order to compile Brigades SDK.

Xbox,Xbox360,ProDG adjustments

Consoles that used Visual Studio, should receive the same adjustments for Windows, in order to fully compile the SDK.
The platforms that should need this adjustments are: Xbox, Xbox360, PS2 ProDG, PS3 ProDG, PSP ProDG.

Ping issue with the same IP

Ping SDK can not identify / perform pinging if two or more players have the same IP, this is due to the fact that Ping SDK list players by their IP and nothing else.

A possible fix would be also list by port or by player name.

Fix the C# wrapper

GameSpy provides a C# wrapper for using it into C# application.
Reseach and fixes must be done in order to use it.

Create a JAVA wrapper

Now days, Java is an extremely popular language, a wrapper to Java (Using JNI) would be usefull to integrate RetroSpy into Java Apps.

Nintendo DS broken build

Nintendo DS/Nitro builds require a specific module called NitroWifi. (It should be an implementation of network sockets by Nintendo).

Without this SDK (witch I think it was never leaked), we will be NEVER able to perform a DS build.

C# project being aligned with Visual Studio

Since the project should move away from Visual Studio projects, in the current files, the C# wrapper does require visual studio to work, and it could potentially not work with CMake.

Future investigation or specific integration needs to be made in order to build the C# (.NET Core after the wrapper will be revamped) with CMake.

Convert MFC tests to Qt

GameSpy used to provide GUI tests for the Windows platform by using the MFC toolkit as UI toolkit.
It would be nice if the old MFC tests could be converted to a cross-platform Qt5 toolkit.

The MFC tests would be removed after the Qt5 conversions, as they are no longer usefull to the project.

Using homebrew SDKs with UniSpy?

Wiki states that consoles may be dropped in future since it requires use of the real SDK - almost all of these platforms have their own homebrew SDK (360 does not - but OG Xbox does! not that GameSpy was used on that platform, but) that could be used instead?

Merging GameSpy SDK 1.0 to UniSpy SDK

GameSpy Opensource SDK v1.0 was released in 2012.
In contains several part that do not exist in the current version of UniSpy SDK (2007)

  • sciGetServiceUrl
  • webservices
  • Rename MD5 functionality and CTX to GSMD5 (OpenSDK)
  • ghttpGetResult
  • gsiCoreGetAuthErrorCode (AuthService.obj OpenSDKLib)
  • gsiCoreSetProfileId
  • gsiCoreSetAuthError (Common, Soap)
  • gsiWStringToDouble
  • gsiSafe* (strcpy)

Nintendo Wii execution

I wasn't able to execute RetroSpy tests on Nintendo Wii/Revolution platform because the NDEV binaries (used in Nintendo Wii Developer Unit) are incompatible with retail ones (The one used in released Nintendo Wiis).

This should require testing or adaptation of HomeBrew Channel (since it's open source) to allow the channel to execute NDEV binaries.

Common makefiles for console platform.

Since I don't know if CodeWarrior is able to produce static libraries with consoles, a better idea could be converting the Linux projects with the console compilers.
The platforms that requires this are: PS2, PS3, PSP, DS, WII.

Missing documentation

Lot of parts are undocumented, this could be a potential problem with a new comer developer that would like to use RetroSpy SDK in his game.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.