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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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 ;)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
> 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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
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
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
* 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.
Ok. Thanks for the advice :)