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?
You seem to have CSS turned off.
Please don't fill out this field.
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
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 ;)
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.
Well, the client has to be written in c++ anyway. Is it complex to implement?
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.
> 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
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.
Ok. Thanks for the advice :)