High Score Security

Hi I recently made a game(dosen't really matter what kind) in which the user gets a score and saves the score to my high score table.
I do this by connecting to a .php page and passing the score and name variables on to it. (www.random.com/blablabla.php?name=bla&score=676) The page then opens the mySQL table and saves the high scores. THe page is opened from within the applet and the user dosen't see the page opening.
The problem I am having is security, and i'm trying to make it so that nobody can access that php page from their browser and input whatever score they want and what not. THis was brought to my attention by my friend who put images(none rude) and hyperlinks allover my high score page. He was nice enough to tell me so now I am trying to fix it.
THe first steps I took were to not package the source code with the jar(which he downloaded and extracted). But even then I could decompile the class file and search the file for ".php" and easily know what url to type into the browser to input any score for my game. I then tried using an obfuscator, ProGuard, which didn't help me much. It only renamed all the classes and variables, but the String I open for the high score I still very easily visible. Also from other people I got the general opinion that they(obfuscators) aren't much good as they only make it slightly harder to people to get the information, not make it impossible.
Basically what I want to do is to make it as hard as possible for people(namely my friend...) to find out the page which saves the high scores, and type it into their browsers so they can input whatever high score they want. Obfusticating didn't help much and now I am running out of ideas. I was thinking about:
Making sure the thing that oppened the page is an applet, but I'm not sure how to do this. This would be my ideal solution as I am not too worried about people who would go out of their way to make an applet with the same name as mine just to "hack" my high scores which aren't even worth hacking. But how would I go about doing this?

You could do this using a client/server system comminicating using sockets, rather than simply a HTML request sent from the client. This way the client could be required to provide some validation before the server accepts score updates from it.
The trick is to decide how the validation is done; you need to be able to differentiate between genuine clients and a client your friend has decompiled and changed so he can cheat.
Remember that your friend can see exactly how the client works, but cannot see how the server works. Maybe you could send a copy of the client class object to the server and then the server could checksum it?

Similar Messages

  • High Score with Applets

    Well, I'm currently in a 'gaming club' at my high school. We are a small group of about 10-12 people that enjoy playing and designing games. Recent accomplishments consist of Battleship, Snake, Airhockey, and a few other minor 3D games.
    As of late, we wanted to take it to the next level. We'd like to put these games on a website in applet-form for everyone to enjoy and comment on. To do this, we'd like to implement a high score count to see who is the best at these games. However, when we tried to do this we ran into a security error. Aparently applets can't write to files. Is there any way around this? Any help would be greatly appriciated. Much thanks.
    - Sange

    Set up a php database. You can communicate between it and your Applet. That's how I do it on GameLizard.com

  • High Score and Applet

    Dear All,
    I'm trying to put a high scroe system in my applet (game). Therefor I would like to write a file (that is located on my ftp server) were I can save the scores. But how do I acces that File ? With an aplication it's easy, but applet doesn't do it (not even offline) I have thought about the following solutions:
    1) Direct acces file and change it (read, change,safe)
    2) Download the file to temp directory of user en edit is en then upload it trough FTP
    3) Save the high scores in a database ?
    I get the following error if I try to use the same code as in a application:
    java.security.AccessControlException: access denied (java.io.FilePermission highscore.txt write)
         at java.security.AccessControlContext.checkPermission(Unknown Source)
         at java.security.AccessController.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkWrite(Unknown Source)
         at java.io.FileOutputStream.<init>(Unknown Source)
         at java.io.FileOutputStream.<init>(Unknown Source)
         at java.io.FileWriter.<init>(Unknown Source)
         at Bestandentest.init(Bestandentest.java:24)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Please Help me

    @ zadok : If I use this I can nog save other players
    there high scores.You would still need to send it back to the server see DrLaszloJamf 's post. The advantage here is that you could make changes to the format of the table and not have to change to program.
    @Dr : I want a global high score for the game and
    keep it on my server. In a file or database. Because
    I thought I couldn't save it in an applet. A cookies
    doesn't solve the problem here unfornutlyI think that is what he is saying.
    >
    Whats's a servlet ?Google.

  • I bought a new Iphone 4s and when I sync my apps over I lost all of my high scores. How can I get back my high scores as I do not want to start all over on some of the games

    I bought the new Iphone 4s. I backed up my old 3gs on Itunes store before trading in my old Iphone. I sync my new phone and I have all of my apps but non of the high scores. For example I played all of the angry birds and had three stars on all levels. Now I have the app on my Iphone but I am back no levels completed. How do I fix this problem. My Itunes store is on a PC running Windows 7

    Under the answer you want to mark as correct you should see a box that says Correct with a green symbol to the left and a box with Helpful with an orange star to the left. Click on the one you want.
    And thanks for thinking about that, it is appreciated.

  • How can you get back a lost high score after a partial sync?

    I was playing a Temple Run game, which I was currently getting a high score on, when I plugged it into my computer to charge. Since it was the first time I had plugged it in, the Mac asked me to do some stuff. After my iPod started to sync, everything was fine. I then had to leave, so I ejected it and left. It kept syncing until I was out of the wi-fi range and down the road. I go into Temple Run, and find my game I was playing gone. The coins weren't added, and the high score wasn't even updated. When I came home, I tried syncing it again, and the info still didn't come back. Is is possible to regain the data back? I just really want the 7 million high score back...

    Try restoring from backup.  If yu did not backup since you messed up, restoring from backup should get you back to when the backup was made. Got to iTunes>Preferences>Devices and check the box that says "Prevent iPod...syncing" otherwise when you connect, a backup will be made that does not contain the info you want.

  • Flash Game High Scores Board

    Hello everyone,
    I know this is a subject that gets covered a lot as i have found a ton of tutorials that show a million dfferent ways to create a high scores board on a flash game.  So i decided to go out on a limb and pick a tutorial out to try.  Well I have now tried 3 different ones and have yet to get a working high scores board with my game.
    http://www.flashkit.com/tutorials/Games/How_to_c-Nick_Kuh-771/index.php
    That is the link to the most recent attempts to creat my high scores board.  When i finished everything the way the tutorial said it seemed like everything would work and then it just didnt.  After spending oh about 40 plus hours trying to make a high scores board i am getting very frustrated.  My game is scripted in AS2 and i have access to mysql and can set up unlimited databases.
    Can anyone please help me by sending an easy to follow tutorial that will work with AS2?  I would just like any kind of help right now as I feel ALL of my valid ideas have been ehausted.  Thanks in advance to anyone that can help!
    kapelskic

    Okay not a problem.
    This is my code on the very first frame of the game that initializes the the highscores.php script
    command = "init";
    _root.loadVariables("highscores.php?"+int(Math.random()*100000), "POST");
    This is the code that I have on a submit button, next to the input text box where the user enters their name for the scoreboard.
    on (release) {
    if(name ne ""){
    command = "update";
    _root.loadVariables("highscores.php?"+int(Math.random()*100000), "POST");
    gotoAndStop ("highScores");
    In every place the code says _root. I have also tried this. and neither of them work.  I have also tried a million other things.  So far the game plays through, goes to the game over screen where it asks for a user name and tells them their score.  Then once they press submit the game goes to the highScores screen but the name and score are not there.  The high scores screen cosists of 2 dynamic text fields one named "players" and one named "scores".  I hope this helps because I spent another 5 or so hours after my initial posts trying more tutorials with still no luck.  (the problem i am having is that i am new to flash, however not to PHP)
    kapelskic

  • Keeping a high score

    I'm not sure whether to put this topic here or on the game section, so forgive me if it's not supposed to be here. Just like the title says, I'd like to keep simply one high score. I'd like to write it into a file (along with the name of the person who holds the high score). I simply do not know what to do, I will post what I have so far (it's just a piece of a bigger class):
    public void openFile(){
              BufferedReader file;
              try
                   file = new BufferedReader (new FileReader ("data.dat"));
              catch (FileNotFoundException e)
                   System.out.println("File not found.");
              try
                   int highCombo = file.read();
                   if(MovingBar.p1Hits > highCombo && MovingBar.p1Hits > MovingBar.p2Hits){
                        JOptionPane.showMessageDialog(null, "Congratulations! Player 1 has beat the high score of " + highCombo + " hits with " + MovingBar.p1Hits + " hits!", "Congratulations!", JOptionPane.PLAIN_MESSAGE);
                        String name = JOptionPane.showInputDialog("Enter your name:");
                   if(MovingBar.p2Hits > highCombo && MovingBar.p2Hits > MovingBar.p1Hits){
                        JOptionPane.showMessageDialog(null, "Congratulations! Player 2 has beat the high score of " + highCombo + " hits with " + MovingBar.p2Hits + " hits!", "Congratulations!", JOptionPane.PLAIN_MESSAGE);
                        String name = JOptionPane.showInputDialog("Enter your name:");
         }I know there are a lot of random pieces of info, but more importantly, MovingBar.p#Hits is a variable in another class which I want to keep as a high score if it is one. highCombo is the current high score (hopefully read from the file data.dat which is simply a text file). I pretty much scrounged this code up from random places so I really dunno exactly what I'm doing. Also, I realize that I'm missing something from the last "try" statement and I don't know what to put. I'm sorry if this is confusing and amateur, but I really need some help. Thanks in advanced.

    Hi
    Create one class that want to be Serializable and implements the Serializable interface on it, then you can serialize the Whole object at once..........
    // Write to disk with FileOutputStream
    FileOutputStream f_out = new
         FileOutputStream("myobject.data");
    // Write object with ObjectOutputStream
    ObjectOutputStream obj_out = new
         ObjectOutputStream (f_out);
    // Write object out to disk
    obj_out.writeObject ( myObject )
    // Read from disk using FileInputStream
    FileInputStream f_in = new
         FileInputStream("myobject.data");
    // Read object using ObjectInputStream
    ObjectInputStream obj_in =
         new ObjectInputStream (f_in);
    // Read an object
    Object obj = obj_in.readObject();
    Regards
    Vinoth

  • Good Practice for managing player high scores & other stats

    During PC based game development, what is a good practice for saving high scores, game history etc for multiple users in terms of the following attributes :
    file types, data types to be used in the file, file protection from manual editing etc.
    pls throw some advice on the popular industry practice in use.
    regards, bittu ch

    During PC based game development, what is a good practice for saving high scores, game history etc for multiple users in terms of the following attributes :
    file types, data types to be used in the file, file protection from manual editing etc.
    pls throw some advice on the popular industry practice in use.
    regards, bittu ch

  • Help with online high scores

    I'm working on a marathon runner game ( http://www.locopuyo.com/MarathonRunnerBeta1.zip ) just for the fun of it. What I am wondering is what the best way to make a high scores list would be.
    I have mySQL on my server, I don't know if that is the best way to do it though.
    I don't know at all how to connect files on the internet with java.
    I was thinking it might be easier if I just had a plain html web site that I could edit in my java program using ftp, but I don't know how to do that and dont' even know if it is possible.
    Any help would be much appretiated.

    since you have MySQL on your server, I'm going to go ahead and assume you have PHP installed also. If so, you can do the highscore work in PHP and just have the game query that script. Basically (if you know anything about PHP and web queries in general) you just query the URL of the PHP script with a few GETVARS. In the simplest (and most easily hacked) way is something like:
    http://yourserver.com/game/highscore.php?action=submit&name=bob&score=5000highscore.php (your script) would then use MySQL to store the data of the GETVARS ($action,$name, and $score).
    All you need in Java to query this script is the URL class.
    URL url = new URL("http://yourserver.com/game/highscore.php?action=submit&name=bob&score=5000");
    url.openConnection(); // this is where it is queriedhighscore.php is where you need to do your database work. If you don't know anything about PHP or if this sounds too easily hacked, you might look into connecting to MySQL via JDBC (see tutorial)
    If I find the time I can make a simple template for you to build off of

  • I am getting a high performance security alert regarding firefox from Norton, what does this mean?

    Every time my mother turns her computer on Firefox a Norton warning pops up saying "Warning, High performance security alter, from firefox".

    http://norton.lithium.com/norton/

  • High scores table without name repeat

    Hello there,
    I have some code which fills a high scores table.. we've decided to give away a prize to the top ten people in the high scores table.. the problem is that people are playing repeatedly and fillnig the high scores table with their name, this makes it unfair to other players as they can't manage to get onto the table !!
    Is there a way I can modify my code to ignore the same name should it appear and skip to the next non repeated name(pseudo) and score ??
    My text boxes are called pseudo1 - pseudo10 and score1 - score10
    Many thanks in advance for your help below is my code :-
    for (var p:uint = 1; p <= 10; p++) {
              var currentPseudo:String = "pseudo" + p;
              var currentScore:String = "score" + p;
              if (event.target.data["pseudo" + p]) {
                   highScoresPage[currentPseudo].appendText(event.target.data["pseudo"+p]);
              if (event.target.data["score" + p]) {
                   highScoresPage[currentScore].appendText(event.target.data["score"+p] + " points"/*/1000 + "s"*/);
              } else {
                   highScoresPage[currentPseudo].appendText(" \n");
                   highScoresPage[currentScore].appendText(" \n");

    I find using Dictionary class for filtering unique names very useful. The code below shows that. Note how array is sorted in descending order:
    var scores:Array = [];
    scores.push( { name: "Peter Smith", score: 32 } );
    scores.push( { name: "Amanda Smith", score: 112 } );
    scores.push( { name: "Peter Smith", score: 23 } );
    scores.push( { name: "Jerry Pak", score: 45 } );
    scores.push( { name: "Peter Smith", score: 80 } );
    scores.push( { name: "Martin", score: 78 } );
    scores.push( { name: "Andrei", score: 99 } );
    scores.push( { name: "Andrei", score: 65 } );
    scores.push( { name: "Martin", score: 76 } );
    scores.push( { name: "Amanda", score: 10 } );
    scores.push( { name: "Peter Smith", score: 73 } );
    // this sorting assures that only highest score for the same name will be presented
    // default sort is ascending
    scores.sortOn("score", Array.NUMERIC);
    var uniquePlayers:Dictionary = new Dictionary();
    // this creates unqie entries
    for each(var obj:Object in scores) {
         // each element is entered only once
         uniquePlayers[obj.name] = obj;
    // reset array
    scores = [];
    // populate with unique names
    for (var key:String in uniquePlayers) {
         scores.push(uniquePlayers[key]);
    scores.sortOn("score", Array.NUMERIC | Array.DESCENDING);
    for each(obj in scores) {
         trace(obj.name, obj.score);

  • IPhone High Score Data File/Sort Oddities

    Hello all.
    I am working on an iPhone game which is nearly complete but I am having trouble with the following high score sort/write code. I am aiming to keep up to 10 scores, sorted from highest to lowest obviously.
    The code creates a new data file with the current score added as first entry if there is no existing data file (and this works), or it creates a data file with the current score as first entry if a data file exists but is empty for some reason (and this works as well), or it adds the current score to a data file of existing scores if it is within the top ten or there are less than ten entries (this is where it gets odd).
    If there is one existing score in the data file, the current score is added and sorted properly. If there are two scores in the data file, the application crashes BUT the data file shows the current score was correctly added and sorted to the existing scores. If there are three existing scores, the application crashes and the data file remains unchanged.
    I have been over the logic many times and tried many different variations of the logic structure to no avail. I suspect it is something simple but I've been staring at it too long to see. Any ideas?
    If there is a better way to display the code/formatting on the forum, please let me know. It doesn't look pretty this way and there must be a way to make it more readable here. I tried to manually format it some to help. The code follows (score variable is brought in from another class but works properly in my tests). At the end I have repeated an isolated snippet of the code where I think the problem occurs.
    *CODE START:*
    int i, ii;
    struct highscoreentry {
    NSString *name;
    int highScore;
    struct highscoreentry structArray(10);
    FILE *fin = fopen("highscore.dat", "rb");
    if (fin != NULL) { //if the data file exists proceed here
    for (i = 0; i < 10; i++) {
    if (fscanf(fin, "%s %d\n", structArray(i).name, &structArray(i).highScore) != EOF) { //if data exists for this iteration proceed
    ii = i; //ii will be the last entry of existing data
    for (i = ii; i > -1; i--) { //will begin at last entry and work up the list of scores to sort
    if (score > structArray(i).highScore) { //if current score is higher than recoded score, recorded score moves down 1 place
    structArray(i + 1) = structArray(i);
    structArray(i).name = (NSString *)"JESSE";
    structArray(i).highScore = score;
    if (i == ii && ii < 9) //if there are less than 10 entries we will add another for our new entry
    ii = ii + 1;
    else if (score < structArray(i).highScore && i == ii) { //if current score is less than last recorded score it becomes new last entry
    structArray(i + 1).name = (NSString *)"JESSE";
    structArray(i + 1).highScore = score;
    if (ii < 9)
    ii = ii + 1;
    fclose(fin);
    if (fin == NULL) { //if the data file does not exist prepare data for new file
    ii = 0; //will be used to limit write iterations to this single new entry
    structArray(0).name = (NSString *)"JESSE";
    structArray(0).highScore = score;
    FILE *fout;
    fout = fopen("highscore.dat", "wb"); //should create/rewrite data file from scratch
    for (i = 0; i <= ii; i++) {
    fprintf(fout, "%s %d\n", structArray(i).name, structArray(i).highScore);
    fclose(fout);
    *CODE END*
    As far as I can tell by commenting out different portions of the code, the problem appears to be somewhere in here:
    *CODE START:*
    if (fin != NULL) { //if the data file exists proceed here
    for (i = 0; i < 10; i++) {
    if (fscanf(fin, "%s %d\n", structArray(i).name, &structArray(i).highScore) != EOF) { //if data exists for this iteration proceed
    *CODE END*
    ...but it baffles me that this works with one structure in the data file, crashes with two structures in the data file but correctly processes/sorts them and writes the file properly, and crashes with three structures in the data file without doing any additional work.
    Jesse Widener
    www.artandstructure.com

    Actually I've found online material to be adequately, and sometimes more than adequately, elucidating in learning the language. When I decided to take a stab at this I spent about 40 hours of my spare time the first week reading 2 or 3 different "takes" on the C/C++/Objective C language in addition to Apple's docs on their implementation along with the iPhone SDK. As I mentioned, I've thus far found the language quite clear and concise. I began my application the second week and this is the first time in 7 weeks of coding where I've felt the need to ask assistance. Every other problem I've solved, leaving no errors, warnings or leaks in my software and accomplishing every task I've set to this point.
    I find reading several different "takes" on a subject helps fill out an understanding from different perspectives. In this case, one perspective might lead the reader to believe or misunderstand the full use/context of a particular syntax, while reading from multiple sources can show the same syntax used in different contexts, broadening the understanding of its use, and that understanding can be user further to interpolate uses in a variety of situations.
    I am new to C/C++/Objective C and the iPhone SDK, but I am not new to programming. It may have been some time (other than hand-coding my website the last few years) and my language experience may be limited to BASIC, HTML, PHP and Javascript, but from my view learning a new language is relatively easy once you know one...even if it is BASIC. The general logic structure remains the same. The overall software design concept remans essentially the same. Both are going to use variables, arrays, subroutines, memory allocation/management, input and output of data, runtime logic, etc. I am 80-90% sure I know exactly how I want to attack a coding problem every time...I just need to know how to "say it in C".
    I don't remember when I first started coding, but I know by age 7 I wrote a karaoke style "Happy Birthday" for my great aunt with music playing through a Commodore 16 via "beeps" figuring the particular vibrations per second of the speaker (the hertz values) and durations for each note in time and pitch perfectly along with "lyrics" printed to screen with the music. To me, learning C is like learning a new foreign language. I took 2 years of French in high school and had to study at it but aced it nonetheless. I then opted to take Spanish but after a semester I opted to stop because the pacing was too slow. Learning Spanish after learning French was a piece of cake. They are in the same general language family and the syntax construction is very similar. I only needed the raw data of the words to fit to the rules I already knew. I didn't need to learn the same rules a second time.
    The C/Objective C language seems no more complicated than it need be, which is to say it seems simple in doing what it needs to do and I am impressed with that simplicity thus far. I am also impressed with Apple's implementation with regard to the iPhone. Being able to provide music via 4-5 lines of code using AVAudioPlayer is transcendental compared to "beeping" every note monophonically.
    Apple's explanations are very clear and concise. It is just, sometimes their examples are sparse or too narrow in scope to get a rounded context. However, their docs are very good and there is a wealth of information here on the net. My biggest complaint with Apple's docs really stems from the fact they seem to want to shove Interface Builder at everything and provide the code to do so but leave the reader stranded if the reader would rather stay within XCode exclusively and do more programmatically rather than leave that much "behind the curtain" work to Interface Builder...but it is a minor complaint.
    On pointers...I do understand the use of pointers, perhaps not to the nth degree as I am just starting out, but the concept makes sense to me. I understand they are not "content" but a memory address location of the "content". I also understand why pointing to a location which is undefined or unprotected is damaging to whatever may be in that location already and to the data being pointed since it can be inadvertently overwritten my some other memory using item.
    {quote}No. The (i < 9) condition is critical. Writing to structArray[10] will crash, since structArray[9] is the end of the array. In practice such a crash might not happen right away, though. If our program's data allocation actually ended at the end of the array, the crash would be immediate. But what usually happens when we write past the end of an array is that the beginning of some other data is overwritten.{quote}
    I need to slap my forehead on this one. I know better than that. I don't know why I missed that. Too many late nights I suppose.
    {quote}(NSString*) is called a type cast in that context.{quote}
    Yes, which is why I used it to deal with the incompatible type error I thought I had at that point, but I shouldn't have assumed by appeasing the compiler I was necessarily solving the problem.
    {quote} The best I can do for now is to caution that an enquiring mind, like all virtues, can be taken too far. I think it's important to compromise and copy good models sometimes. This isn't just to avoid reinventing the wheel. Sometimes it's good to remember we only have a limited time on Earth.{quote}
    Agreed...and I don't expect to understand every nuance the first time around. I expect to at least understand how each successful line of code works in its context, but I imagine some processes will take a few times through before it "clicks" how it works in a greater context than its own, and I am all right with that. I also understand deadlines are deadlines whether they be software development or otherwise and a broad eye needs to be kept to remaining on the track forward.
    Anyway, off to my day job.
    Thank you again...I began reading up on NSDictionary and NSUserDefaults last night. Will post soon.
    Jesse Widener
    www.artandstructure.com

  • High (Maximum) Security Setting for FIOS Firewall

    If you set the maximum security setting on the Verizon FIOS Firewall then whenever Verizon decides to swap its IP's you are screwed; the unit will not get the new IP.
    To compensage for the maximum settings I have enable all of the verizon unit (SBU's) to have unrestricted access aka ANY but this does not do the trick.
    Verizon in its ultimate wisdom has not bothered to document anywhere what are the minimum outbould settings should be that would enable this communication in the High (Maximum) security mode.
    Does anyone from Verizon read this stuff?

    So, I'm pretty much convinced now that the problem with low-quality LR previews seems to be mostly isolated to the previews that LR generates after you make edits in the 'Develop' module.
    Upon first import, this image looked fine in the 'Library' & 'Slideshow' modules. After making some edits (color, tone, etc.) in the 'Develop' module, I ended up getting this hideous preview in the 'Library' & 'Slideshow' modules:
    http://web.mac.com/rishisanyal/Lightroom/07-0310_BandingBlocking.jpg
    You people with LCDs will be able to see the JPEG artifacts better than those with CRTs, since LCDs tend to be sharper.
    So, the obvious question is this:
    Does LR, when *re-generating* previews for edited images, ignore the quality-setting for JPEG previews (which I have set to 'high')??

  • Hosting a server for simple game related info, rankings, high scores, etc.

    I have a quick question about servers. I want to implement a ranking system for one of my games, the server would store player high scores and world rankings based on their score and perhaps other fairly easy stuff. Writing the server and communicating from
    it with the app is the easy part in my mind, ive done it numerious times for personal projects (Like a Raspberry PI based quadrocopter i wrote). My question is this. If i wrote the server where do i host it? How do people typically host their servers that
    are simple like this? Do they get a static ip address and host it from a extra computer in there homes? Im not talking about big corporations like microsoft that have large server centers, just individual developers like me.  Any thoughts?
    thank you for your time.

    Yes, the server  app runs on the machine it is hosted on.
    See http://azure.microsoft.com/en-us/documentation/services/mobile-services/ to get started with Azure Mobile Services.
    If you want to write a web service yourself from scratch you'll need to pick your technology and look for documentation there. It's off topic in this forum, but check out http://www.asp.net/get-started and the http://forums.asp.net/ forums for asp.net.
    --Rob

  • High score functionality via call to external server

    I have just packaged an existing Flash game as a test and literally just packaged it without making any changes whatsoever. The game included a top 100 score board which is populated by calling an asp page on an external server that returns xml data.
    I was most surprised that the high score functionality all worked when I tested the game on my iPhone i.e it displays the scores. I haven't tested submitting one yet though.
    I therefore wondered if this is allowed and if so is there any reason why this should be avoided. I have read there is something called Open Feint that allows you to do high scores.
    Any advice much appreciated.
    Thanks
    Paul

    Hi,
    where exactly is the FM crashing and why? Did you debug? Is it occuring at
    CALL FUNCTION 'FTP_CONNECT' DESTINATION RFC_DESTINATION
         EXPORTING USER = USER PWD = PASSWORD ACCT = ACCOUNT HOST = HOST
                   TRACE = FTP_TRACE GUSER = GATEWAY_USER
                   GPWD = GATEWAY_PASSWORD GHOST = GATEWAY_HOST
         IMPORTING HANDLE = HANDLE ERROR = CERROR
         EXCEPTIONS SYSTEM_FAILURE = 1 COMMUNICATION_FAILURE = 2.
    or earlier?
    Try tracing with ST01, one time with the way it works, and another time out of the WebDynpro where it crashes, then compare the logs.
    regards, Lukas

Maybe you are looking for