Illarion Debian AMD64 Lenny Beta2

If you found a bug in Illarion or need help ask here. / Wenn Du einen Fehler in Illarion gefunden hast oder Hilfe benötigst, frage hier.

Moderator: Developers

Post Reply
User avatar
Daidalos
Posts: 43
Joined: Thu Apr 20, 2006 5:12 pm
Contact:

Illarion Debian AMD64 Lenny Beta2

Post by Daidalos »

[GERMAN VERSION - ENGLISH VERSION BELOW
So, entgegen allen Informationen, dass Java etc. noch nicht als Plugin bei den Webbrowsern unter Linux 64Bit Systemen arbeitet habe ich mich trotzdem dazu entschlossen es unter einem versuchen zu installieren.
Ich habe die Pakete sun-java6-bin ; sun-java6-jre ; ia32-sun-java6-bin installiert. Ersteres und Letzteres sind jeweils Architecture dependent weswegen sie auch nicht so ohne weiteres unter einem 64Bit System funktionieren werden.
Der nächste Schritt der anstand war folgender:

Code: Select all

echo "/usr/lib/jvm/ia32-java-6-sun-1.6.0.06/ $1" > /usr/local/bin/javaws
Damit wuerde eben die Anwendung aufgerufen werden wenn man den Befehl javaws benutzt.
Das hat auch ganz gut funktioniert. Er hat angefangen etwas herunterzuladen, hat mich dann gefragt ob er es ausführen darf und nach einem Pfad für die Illarion-Installation gefragt. Nachdem ich aber den Pfand angegeben habe kam folgende Fehlermeldung:

Fehler: access denied (java.security.SecurityPermission putProviderProperty.SunJCE)

Startdatei

Code: Select all

<?xml version="1.0" encoding="utf-8"?>

<jnlp spec="1.0+" codebase="http://download.illarion.org" href="illarion_client.jnlp">

	<information>

		<title>Illarion Client</title>

		<vendor>illarion.org</vendor>

		<homepage href="http://www.illarion.org" />

		<description>A graphical client for the Illarion online role playing game.</description>

		<icon href="icon.gif"/>

		<offline-allowed/>

	</information>

	<information locale="DE">

		<description>Ein graphischer Client für das Illarion Online-Rollenspiel.</description>

		<offline-allowed/>

	</information>



	<resources>

		<j2se version="1.5+" />

		<jar href="illarion.jar" main="true" />



		<jar href="rsc_chars_upd.jar"/>

		<jar href="rsc_effects_upd.jar"/>

		<jar href="rsc_gui_upd.jar"/>

		<jar href="rsc_items_upd.jar"/>

		<jar href="rsc_sound_upd.jar"/>

		<jar href="rsc_tiles_upd.jar"/>



		<jar href="rsc_chars.jar"/>

		<jar href="rsc_effects.jar"/>

		<jar href="rsc_gui.jar"/>

		<jar href="rsc_items.jar"/>

		<jar href="rsc_sound.jar"/>

		<jar href="rsc_tiles.jar"/>



		<jar href="soundbank.jar" />

		<jar href="manual.jar" />



		<jar href="lwjgl.jar" />

		<jar href="lwjgl_util.jar" />



		<property name="org.lwjgl.opengl.Display.allowSoftwareOpenGL" value="true"/>

	</resources>



	<resources os="Windows">

		<nativelib href="lwjgl_win.jar" />

	</resources>

	<resources os="Linux">

		<nativelib href="lwjgl_linux.jar" />

	</resources>

	<resources os="Mac OS">

		<nativelib href="lwjgl_mac.jar" />

	</resources>



	<security>

		<all-permissions />

	</security>

	<application-desc main-class="illarion.client.IllaClient" />

</jnlp>
Ausnahme

Code: Select all

java.security.AccessControlException: access denied (java.security.SecurityPermission putProviderProperty.SunJCE)
	at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
	at java.security.AccessController.checkPermission(AccessController.java:546)
	at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
	at java.lang.SecurityManager.checkSecurityAccess(SecurityManager.java:1698)
	at java.security.Provider.check(Provider.java:386)
	at java.security.Provider.put(Provider.java:309)
	at com.sun.crypto.provider.SunJCE$1.run(DashoA13*..)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.crypto.provider.SunJCE.<init>(DashoA13*..)
	at illarion.client.b.e.<init>(Unknown Source)
	at illarion.client.IllaClient.<init>(Unknown Source)
	at illarion.client.IllaClient.main(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.sun.javaws.Launcher.executeApplication(Launcher.java:1293)
	at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1239)
	at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1086)
	at com.sun.javaws.Launcher.run(Launcher.java:105)
	at java.lang.Thread.run(Thread.java:619)
Nach dem "(java.security.SecurityPermission putProviderProperty.SunJCE)" hab ich dann auch ein bisschen gesucht und bin schließlich auf diese Seite gestoßen:
http://www.ibm.com/developerworks/websp ... yu/yu.html
Und dort auf den Bereich "Using Sun JCE Provider in the WebSphere Runtime"
Ich kenne mich mit Java nicht aus aber so viel ich verstanden habe wird in der Datei java.policy , die sich hier befindet: /usr/lib/jvm/java-6-sun-1.6.0.06/jre/lib/security/java.policy
, eingetragen ob eine bestimmte Anwendung Zugriff bekommt, oder so etwas.
Nur leider sind nach der Illarion-Installation lediglich zwei PDF's und eine readme.txt vorhanden, außer einem Haufen Dateien die in einem temporären Ordner gespeichert wurden.
Also, wenn jemand eine Idee hat...

----------------------------------------------------------------------------------------------------------

[ENGLISH VERSION]

Long story short: I decided to use Java on a 64bit Linux system although it's not fully compatible.
The first step was to install the following packages: sun-java6-bin ; sun-java6-jre ; ia32-sun-java6-bin . The first and the last one is not compatibele to 64bit architecture. After that I did:

Code: Select all

echo "/usr/lib/jvm/ia32-java-6-sun-1.6.0.06/ $1" > /usr/local/bin/javaws
Now I would be able to access the 32bit java with javaws. And it worked. I got to download some files and was able to define the path where Illarion should be installed. After that I got this:

Fehler: access denied (java.security.SecurityPermission putProviderProperty.SunJCE)

Startdatei

Code: Select all

<?xml version="1.0" encoding="utf-8"?>

<jnlp spec="1.0+" codebase="http://download.illarion.org" href="illarion_client.jnlp">

	<information>

		<title>Illarion Client</title>

		<vendor>illarion.org</vendor>

		<homepage href="http://www.illarion.org" />

		<description>A graphical client for the Illarion online role playing game.</description>

		<icon href="icon.gif"/>

		<offline-allowed/>

	</information>

	<information locale="DE">

		<description>Ein graphischer Client für das Illarion Online-Rollenspiel.</description>

		<offline-allowed/>

	</information>



	<resources>

		<j2se version="1.5+" />

		<jar href="illarion.jar" main="true" />



		<jar href="rsc_chars_upd.jar"/>

		<jar href="rsc_effects_upd.jar"/>

		<jar href="rsc_gui_upd.jar"/>

		<jar href="rsc_items_upd.jar"/>

		<jar href="rsc_sound_upd.jar"/>

		<jar href="rsc_tiles_upd.jar"/>



		<jar href="rsc_chars.jar"/>

		<jar href="rsc_effects.jar"/>

		<jar href="rsc_gui.jar"/>

		<jar href="rsc_items.jar"/>

		<jar href="rsc_sound.jar"/>

		<jar href="rsc_tiles.jar"/>



		<jar href="soundbank.jar" />

		<jar href="manual.jar" />



		<jar href="lwjgl.jar" />

		<jar href="lwjgl_util.jar" />



		<property name="org.lwjgl.opengl.Display.allowSoftwareOpenGL" value="true"/>

	</resources>



	<resources os="Windows">

		<nativelib href="lwjgl_win.jar" />

	</resources>

	<resources os="Linux">

		<nativelib href="lwjgl_linux.jar" />

	</resources>

	<resources os="Mac OS">

		<nativelib href="lwjgl_mac.jar" />

	</resources>



	<security>

		<all-permissions />

	</security>

	<application-desc main-class="illarion.client.IllaClient" />

</jnlp>
Ausnahme

Code: Select all

java.security.AccessControlException: access denied (java.security.SecurityPermission putProviderProperty.SunJCE)
	at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
	at java.security.AccessController.checkPermission(AccessController.java:546)
	at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
	at java.lang.SecurityManager.checkSecurityAccess(SecurityManager.java:1698)
	at java.security.Provider.check(Provider.java:386)
	at java.security.Provider.put(Provider.java:309)
	at com.sun.crypto.provider.SunJCE$1.run(DashoA13*..)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.crypto.provider.SunJCE.<init>(DashoA13*..)
	at illarion.client.b.e.<init>(Unknown Source)
	at illarion.client.IllaClient.<init>(Unknown Source)
	at illarion.client.IllaClient.main(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.sun.javaws.Launcher.executeApplication(Launcher.java:1293)
	at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1239)
	at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1086)
	at com.sun.javaws.Launcher.run(Launcher.java:105)
	at java.lang.Thread.run(Thread.java:619)
I googled for "(java.security.SecurityPermission putProviderProperty.SunJCE)" and eventually found a site: http://www.ibm.com/developerworks/websp ... yu/yu.html especially the article "Using Sun JCE Provider in the WebSphere Runtime"
Now I don't know a thing about Java but it looks like the file /usr/lib/jvm/java-6-sun-1.6.0.06/jre/lib/security/java.policy states which .jar files get permission to be executed or something like that. The problem is that the Installer just downloaded two PDF's and one readme.txt apart from some other files in the temporary director. At that point I'm out of ideas again and just posting this in case someone knows something...
User avatar
Daidalos
Posts: 43
Joined: Thu Apr 20, 2006 5:12 pm
Contact:

Post by Daidalos »

Well, after some googling I found out that permissions are given out diffirently for javaws-applications which are started from the console or from the browser.
Someone told me once that some java-applets work in Konqueror because he uses the actual Runtime Environment, which is architecture independent, or something like that.
Afte linking /usr/local/bin/javaws to the ia32-java version, as stated above, I could actually start Illarion with Konqueror and also managed to log in! (though, as said by vilarion, you'll have to change the colour depth to 24bit, thanks for that).

The good part is: It looks like you can play Illarion on a 64bit Linux system using Konqueror.
The bad part is: I still haven't found out how to change the permissions in the java.policy and javaws.policy files so I could start it from a shell.
Gindariel Schattenbaum
Posts: 1
Joined: Sun Aug 10, 2008 11:17 am

Post by Gindariel Schattenbaum »

[German]
Es gibt ein offenes JDK: OpenJDK bzw. IcedTea. Das ist inzwischen vollständig zum Sun-Java kompatibel.
Das OpenJDK bietet auch den JavaWebStart für 64Bit Systeme. Auch ein Browser-Plugin ist vorhanden.
Sowohl auf meinen 64Bit als auch 32Bit Systemen (früher Gentoo, jetzt Ubuntu) läuft nur noch das OpenJDK.
Einziger Nachteil (den man bestimmt noch irgendwie hinbiegen kann):
Die .jnlp Datei wird heruntergeladen und man muss sie auf der Festplatte ausführen - macht meiner Meinung nach aber auch nichts - hauptsache das Programm läuft... ;)

Dies löst leider nicht direkt dein Problem, sollte aber dazu führen, dass du javaws ausführen kannst.

[English - poor quality ;)]
There is an open/free JDK : OpenJDK or IcedTea. It's compatible to the JDK by Sun.
It works on 64 and 32bit. Javawebstart works too, but the .jnlp file is downloaded and you have to start it in the commandline - but finally it works somehow ;).

This solution does not solve your problem with the Sun-JDK but it helps you to start javaws.
nibelungen
Posts: 5
Joined: Wed Aug 19, 2009 4:09 pm
Location: Germany
Contact:

Post by nibelungen »

Gindariel Schattenbaum wrote:[German]
Es gibt ein offenes JDK: OpenJDK bzw. IcedTea. Das ist inzwischen vollständig zum Sun-Java kompatibel.
Das OpenJDK bietet auch den JavaWebStart für 64Bit Systeme. Auch ein Browser-Plugin ist vorhanden.
Sowohl auf meinen 64Bit als auch 32Bit Systemen (früher Gentoo, jetzt Ubuntu) läuft nur noch das OpenJDK.
Einziger Nachteil (den man bestimmt noch irgendwie hinbiegen kann):
Die .jnlp Datei wird heruntergeladen und man muss sie auf der Festplatte ausführen - macht meiner Meinung nach aber auch nichts - hauptsache das Programm läuft... ;)

Dies löst leider nicht direkt dein Problem, sollte aber dazu führen, dass du javaws ausführen kannst.

[English - poor quality ;)]
There is an open/free JDK : OpenJDK or IcedTea. It's compatible to the JDK by Sun.
It works on 64 and 32bit. Javawebstart works too, but the .jnlp file is downloaded and you have to start it in the commandline - but finally it works somehow ;).

This solution does not solve your problem with the Sun-JDK but it helps you to start javaws.
.

Wäre es nicht möglich direkt von der Datei auf der Festplatte mit einem File Manager wie Nautilus einen Starter zu erstellen? Der Starter könnte sich dann auf dem Desktop oder sonst wo befinden, um von dort angeclickt bzw. benutzt zu werden?

ENGLISH: Wouldn't it be possible to access the area with the working file via a file manager like nautilus, followed by creating a shortcut to the working file and then using this new shortcut from wherever it is that you decide to store it (such as panels or desktop area)?
.
Post Reply