- Home /
Server High Scores - crossdomain.xml
Hi, I am having issues getting unity webplayer to post high scores. I keep getting an error issue:
There was an error getting the high score: Rejected because no crossdomain.xml policy file was found UnityEngine.MonoBehaviour:print(Object) $:MoveNext() (at Assets/Scripts/HSController.js:32)
My game is uploaded here: http://dakar.bournemouth.ac.uk/~hmonaghan/unity/WebPlayer.html
And this is the script I'm using for the HSController.js file:
private var secretKey="nottellingyou"; // Edit this value and make sure it's the same as the one stored on the server
var addScoreUrl="http://dakar.bournemouth.ac.uk/~hmonaghan/unity/addscore.php?";
var highscoreUrl="http://dakar.bournemouth.ac.uk/~hmonaghan/unity/display.php";
function Start() {
getScores();
}
function postScore(name:String, score:int) {
//This connects to a server side php script that will add the name and score to a MySQL DB.
// Supply it with a string representing the players name and the players score.
var hash=Md5.Md5Sum(name + score + secretKey);
var highscore_url = addScoreUrl + "name=" + WWW.EscapeURL(name) + "&score=" + score + "&hash=" + hash;
// Post the URL to the site and create a download object to get the result.
hs_post = WWW(highscore_url);
yield hs_post; // Wait until the download is done
if(hs_post.error) {
print("There was an error posting the high score: " + hs_post.error);
}
}
// Get the scores from the MySQL DB to display in a GUIText.
function getScores() {
gameObject.guiText.text = "Loading Scores";
hs_get = WWW(highscoreUrl);
yield hs_get;
if(hs_get.error) {
print("There was an error getting the high score: " + hs_get.error);
} else {
gameObject.guiText.text = hs_get.text; // this is a GUIText that will display the scores in game.
}
}
Can someone please help me?
By the way, I haven't changed anything in that script except the secret$$anonymous$$ey so if it's an issue of having dummy text somewhere that I was meant to replace, please do point it out! I probably have made a rookie mistake somewhere.
Answer by save · Jan 11, 2012 at 10:43 AM
You have to place the crossdomain.xml in the root of your domain where the addscore.php is. So in your case it should be placed at http://dakar.bournemouth.ac.uk/crossdomain.xml
The policy looks like this:
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
Read more about it here.
Good! Does that mean I can now compete to be the world champion of throwing a virtual basketball? ;-)
Your answer
Follow this Question
Related Questions
Crossdomain.xml problem in HTTPS / SSL 0 Answers
Crossdomain policy problem. 2 Answers
Play Games Services for Unity - getting single score or show public leaderboard? 1 Answer
WWW Post doesn't work. 2 Answers
Highscore problem. Crossdomain.xml 0 Answers