Posts by red51

A new update is now available, introducing "Points of interest" and many more changes!
Latest hotfix: 0.9 (2025-11-05)

    java.net.bindexception: Address already in use: bind

    This message indicates that another process already uses one of the server ports (more precisely, ip + port combination), so the server cannot bind to this address. This could either be another program which uses the same ports, or maybe an older server instance which was not shut down properly...


    Does RW do anything on port 80? or port 21?

    No, the server only uses serverport-1 (for http queries), serverport, serverport+1, serverport+2, serverport+3 and serverport+4 (if server port is 4255, the RW server actually uses 4254, 4255, 4256, 4257, 4258 and 4259 TCP and UDP). If RCON is enabled, it also uses a separate port (by default 4253, but the port can be changed in the server.properties file).

    The mark command only saves a single position (temporarily). It can be used in combination with the gotomark command to teleport to that position. Unfortunately you cannot store multiple positions simultaneously (typing mark again overwrites the previously stored position).
    However, if you want to get the coordinates of the stored position, you can use the gotomark command, then open the debug console (F3) to get your current coordinates (first line).


    If you want to store or "mark" certain locations, I'd recommend to use a map and create markers at the given locations :)

    What do you mean with "local" and "global" event? If you're using the PlayerConnectEvent: It's triggered every time a player joins the server. The player object that can be retrieved from the event is always the player who triggered this event (i.e. the player who established the connection to the server).
    If you want to send messages to the player, the PlayerConnectEvent isn't very suitable for that, since the player still sees the loading screen at that time and probably won't see the message at all. Instead, you can use the PlayerSpawnEvent, which is called when the loading process is completed (i.e. when the player actually spawns on the server), so there is no artificial delay needed if you want to send a message to the player ;)

    Aha, ok. Es wäre aber zumindestens Gut, wenn Monitore dazu kommen würden, die Werbung bzw. für Bahnhof den nächsten Zug anzeigen lassen könnte. Und wenn sie nur Text anzeigen können, wäre das schon gut.

    Ja, sowas wird mit Sicherheit kommen ;)


    Gibt es nicht eine Möglichkeit die LUA auf die API zu konvertieren ? dann wäre das raus

    Nein, also zumindest keine automatisierte Möglichkeit. Das verlinkte Programm ist ein Converter von Lua zu JavaScript (welches nichts mit Java zutun hat), allerdings handelt es sich hierbei nur um die Übersetzung in eine andere Sprache, also rein aus syntaktischer Sicht. Selbst wenn es einen Converter für Lua zu Java gibt, hilft das in diesem Fall nicht weiter, da die API Aufrufe ja entsprechend angepasst werden müssen.


    Natürlich kann man die aktuelle API "von Hand" wrappen, das werden wir auch in dem zuvor genannten Wrapper machen. Darin werden wir aber nur den Stand der derzeitigen Lua API abdecken, d.h. neuere Funktionen die durch die Plugin API hinzukamen, werden darin nicht enthalten sein. Ansonsten müsste man den Wrapper immer von Hand aktuell halten, d.h. jede Änderung der Plugin API auch darin abbilden. Aber wie gesagt, das ist ohnehin nur eine Notlösung, denn einerseits können einige Konzepte der Plugin API aufgrund der Limitierung von Lua nicht umgesetzt werden, andererseits wird es auch performancetechnisch schlechter gestellt sein als die Plugin API. Es ist wirklich nur als Möglichkeit gedacht, bestehende Lua Skripte weiterhin ausführen zu können, auch nachdem die Lua API komplett rausgeflogen ist ;)

    Basically this comes from rounding errors, or more precisely, it's caused by the limited precision of floating-point numbers... it's getting worse the further you move away from the origin of the world :|
    Implementing an "infinite world" is on our todo list, but currently only the terrain generation is "infinite" (at least it has no restrictions). Due to these precision issues, the playable area is more or less restricted to ~ 10,000 (in every direction)

    Ich habe selber GuiPanel,Label und Texte verwendet. Das sollte doch nicht das Problem sein?

    Also bei mir funktioniert es =O Aber das hatten wir ja schonmal^^
    Steht denn eine Ausgabe in der Konsole (also die Ingame-Konsole), nachdem du diese Funktion aufrufst? Vll kein Npc in der Sichtlinie? Kannst du ansonsten evtl. einen Codeschnipsel posten?

    Yeah, unfortunately it only affects the time of day... so neither the weather nor other things (like crops) are affected by this. Probably we will change it so at least things like weather will be affected ;)

    Actually this is indeed intended behaviour, as @Miwarre suspected, or more precisely, it's a design limitation ;) When the game checks what gui element the mouse is over, it iterates through all elements and its children. It checks if the cursor is within the boundaries of the element, and if it's outside, the game does not perform this check for the child elements.

    What you can do is create a custom GuiLabel with the desired size and color, and display it only for a given amount of time (by using a Timer) ;)

    Kann man nicht Lua Irgendwie als Plugin Anbieten

    Ein Lua Wrapper als Plugin ist tatsächlich bereits in Arbeit, betrifft aber nur die Lua API in ihrem derzeitigen Zustand. Der Hintergrund ist der, dass dies eher aus "Kompatibilitätsgründen" vorgesehen ist, damit also für den Fall, dass einzelne Server auf bestimmte Lua Skripte zwingend angewiesen sind, diese weiterhin genutzt werden können. Einige Server haben sehr umfangreiche Lua Skripte geschrieben, welche vmtl. nicht mehr den Wechsel auf die Plugin API schaffen werden.


    Dennoch ist das wirklich nur als "Notlösung" gedacht, es soll Leute keinesfalls animieren, stattdessen die Lua API weiterhin zu nutzen (auch wenn es natürlich möglich ist).


    Das beweist, dass es möglich ist, auch im Spiel Programme zu erstellen und auszuführen.

    Dir stehen natürlich sämtliche Werkzeuge und Fähigkeiten von Java zur Verfügung, wenn du ein Plugin erstellst ;) Du könntest in Java sogar ein Betriebssystem schreiben und in Form eines RW Plugins ausliefern :D Genauso könntest du via Plugin das Betriebssystem anweisen, zB ein anderes Programm oder Spiel zu starten.
    Natürlich muss man sich nur immer vor Augen halten, dass Plugins generell serverseitig ausgeführt werden, d.h. sofern es sich nicht um ein exklusives Singleplayer-Plugin handelt, bekommst du außerhalb der API-Methoden nur Zugriff auf den Server (entsprechende Berechtigungen vorausgesetzt, wie sich von selbst versteht), nicht aber auf den Client.


    Ich frage mich, ob es in RisingWorld auch programmierbare Computer geben wird, um damit Fabriken zu steuern, Passwortgeschützte Türen, Monitoren um am Bahnhof den nächsten Zug anzeigen zu lassen oder um Werbeanzeigen anzeigen zu lassen

    Jein... eine spieleigene Programmierschnittstelle (im Sinne von ComputerCraft) ist derzeit nicht geplant (wobei das nicht zwangsläufig bedeutet, dass sowas nicht doch eines Tages kommen könnte). Allerdings wird das Stromsystem sehr umfangreiche Möglichkeiten bieten, also weitaus mehr als einfach nur eine simple Verkabelung. Hier wird es möglich sein, eigene Schaltungen und Steuerungen (zB eine SPS) umzusetzen, und kombiniert mit einer Vielzahl von Steuerelementen und Sensoren wirst du eigentlich alles so steuern können, wie du möchtest.
    Wenn wir an dem Punkt angekommen sind, wird es aber auch verhältnismäßig einfach sein, "programmierbare Computer" über die PluginAPI einzubinden ;)

    Unfortunately it's difficult to say what's going on there exactly... the crash in the KERNELBASE.dll indicates that a basic Windows operation went wrong or that there was a conflict with a driver or other programs. Since the crash only occurred in singleplayer, it sounded like the JDBC driver could be responsible for that, but since the dedicated server works fine (and updating to the latest JDBC driver didn't help), this seems to be unlikely...


    Actually there are lots of other people out there experiencing the same issue for other games or programs. It sounds like there is a local issue with the KERNELBASE.dll file... Is your Windows up-to-date? Maybe you can try to run the Windows Update Troubleshooter which fixes issues caused by broken Windows updates: https://support.microsoft.com/…ows-update-troubleshooter


    If that doesn't help, you can try to register the KERNELBASE.dll again. To do that, open the Command Prompt as Administrator (search for cmd, then rightclick on it -> Run as Administrator). Type regsvr32 KERNELBASE.dll, then close the Window and restart your computer.


    If the issue still persist, there might be an issue with your user profile (at least there are some reports of user profile corruption causing these crashes). You could try to create a new user profile temporarily and run the game with this new profile. Do you still run into the same crash?


    A workaround for this issue might be to use the dedicated server to play on a world locally. If you start a server, can you actually join it (go to "Multiplayer" -> "Connect to IP" -> enter localhost)? If that works, could be more or less a replacement for the singleplayer mode (not very convenient, but at least it works)...


    As a last resort you could try out the standalone version of the game. To get it, create an account on our homepage https://www.rising-world.net (if you don't have an account) and send us an email containing your username to support@jiw-games.net :)

    Leider gibts derzeit kein Event, welches bei der Zerstörung von Objekten (wenn es nicht von einem Spieler ausgelöst wurde) aufgerufen wird... Wir könnten ggf. eines hinzufügen, aber ich fürchte, das könnte für Verwirrung sorgen (weil es ja zusätzlich noch das eng verwandte spielerbezogene Event gibt)...


    Wir müssen uns da mal Gedanken machen... du könntest, um die Zerstörung durch Explosionen zu verhindern, im ExplosionEvent den "world damage" auf 0 setzen: https://javadoc.rising-world.n…tml#setWorldDamage-short-
    Leider ist das keine sehr tolle Lösung, weil damit Explosionen grundsätzlich keinen Schaden mehr an der Welt anrichtet :(

    It's not caused by the AND, it's caused by "group", since that's a reserved keyword in SQL. If you want to use reserved words for column names, you have to use backticks in your SQL statement ;)
    SELECT playerID FROM Plowner WHERE ID = '"+areaID+"' AND `group` = 'Red'

    Just a little heads up, actually there will be a player.setName() method in the next update. I don't think that plugins are going to abuse this feature (if a plugin wants to troll a player, there are many other ways to do that which are even worse). In the end, the server owner is responsible to make sure he doesn't use any "troll plugins" (although if there will be ever a malicious plugin in the forums, we will remove it anyway) ^^

    Actually crops already have a random rotation when they grow (although I just found out this wasn't set for watermelons, pumpkins and chili plants - this will be fixed with the next update :D), however, proper setRotation() and setPosition() methods will be available with the next update :)

    Werden die Attribute gespeichert, wenn server neu gestartet wird, oder muss man die wie beim Spieler immer neu setzen?

    Die sind leider temporär, genau wie die Spielerattribute, d.h. sie müssen neu gesetzt werden (dadurch, dass Areas ja grundsätzlich nicht vom Server gespeichert werden, würden die Attribute so oder so beim Neustart verloren gehen) ;)