Menu

iPhone game

Developers
Ed Welch
2011-02-23
2013-06-06
  • Ed Welch

    Ed Welch - 2011-02-23

    I'm looking at using marauroa as a server for a simple iPhone multiplayer game. However, it doesn't use username/password to login, but a transaction id. The transaction id indicates that the subscription is payed for. The server needs to authenticate this transaction id with the App Store.
    Would it be easy to modify the marauroa code to do this?

     
  • Hendrik Brummermann

    Hello ed_welch,

    ClientFramework.login() has two variants: One which accepts username and password, and one which accepts username, optional password and a seed. So on the client side use the second one and leave the password empty.

    The server checks the seed by looking it up in the loginseed table. And if loginseed.complete is true, it will ignore the password.

    This code is in AccountDAO.verify() in the block starting with

    // if a login seed was provided, check it
    

    So you can easily modify it.

    One unrelated note: There was some news coverage lately that Apple does not allow GPLed software in its AppStore. But I did not really pay attention to that, so I don't know the details. http://www.heise.de/open/artikel/Die-Woche-Apple-vs-Open-Source-1169290.html (German), Automatic translation: http://translate.google.com/translate?ie=UTF-8&sl=de&tl=en&u=http%3A%2F%2Fwww.heise.de%2Fopen%2Fartikel%2FDie-Woche-Apple-vs-Open-Source-1169290.html

     
  • Ed Welch

    Ed Welch - 2011-02-23

    Thanks for the answer nhnb, but it still needs to authenticate the transaction id with the App Store (and store the response in a seperate database table). I'm assuming it's not that difficult to modify that part of the login.
    There is no problem with GPL, because the server isn't in the App Store ;)

     
  • Miguel Angel Blanch Lardin

    But the client part of Marauroa will be on the App Store… and trust me implementing the network protocol from scratch in order to comply with GPL will be a lot of work. You better check that licensing is compatible with App store.

     
  • Ed Welch

    Ed Welch - 2011-02-23

    Well, the client has to be written in c++ anyway. Is it complex to implement?

     
  • Miguel Angel Blanch Lardin

    It is easier that implementing your own from scratch for sure. At full time, it would be matter of two weeks.
    I code it and it was called ariannexp, but got out of date when marauroa keep evolving and I was not longer interested in maintaining it for gladiatos and mapacman.

     
  • Hendrik Brummermann

    > Well, the client has to be written in c++ anyway. Is it complex to implement?

    I recently wrote a client in php (because the Stendhal website is written in PHP and we want the website to interact with the game server.

    I did the porting in this order:
    * InputSerializer / OutputSerializer
    * Message
    * Message*
    * ClientFramework
    * Attributes
    * RPObject
    * PerceptionHandler

    It will be a bit of work, but if you know the target language well and Java at least a little, it is rather easy.

     
  • Ed Welch

    Ed Welch - 2011-02-24

    Ok. Thanks for the advice :)

     

Anonymous
Anonymous

Add attachments
Cancel