Posts by red51

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

    auch wenn der Vorschlag total blöd ist, könnte man im Forum ja nur bestimmte Bereiche für Bilder erlauben, dass würde das durchsuchen etwas vereinfachen.
    Dazu könnte man eine Regel einführen wo wir dazu verpflichtet wären den Ursprung des Bildes mit zu setzen.

    Das würde leider nicht reichen, denn es betrifft ja nicht nur Bilder, sondern alles, was in irgendeiner Form urheberrechtlichen Schutz genießt. Darunter fallen auch Texte, sofern sie eine gewisse Schöpfungshöhe erreichen. Selbst wenn wir sogar den Upload komplett verbieten würden, dann könnte jemand ja immernoch den (urheberrechtlich geschützten) Text einer Zeitung kopieren und hier posten.


    Laut Tageschau, sollte es nur die Betreffen, die mit den Urheberwerken Geld verdienen.

    Diese Information ist so leider nicht ganz korrekt bzw. gefährlich stark vereinfacht. In Artikel 2 wird definiert, wer von der Urheberrechtsreform betroffen ist bzw. was unter einem "Content Sharing Provider" (auf den die Reform abzielt) zu verstehen ist. Wörtlich versteht der Entwurf darunter "provider of an information society service whose main or one of the main purposes is to store and give the public access to a large amount of copyright protected works or other protected subject-matter uploaded by its users which it organises and promotes for profit-making purposes". D.h. also darunter versteht man jene Anbieter, die der Öffentlichkeit Zugang zu einer großen Menge urheberrechtlich geschützter Werke liefern (was auf ein Forum definitiv zutrifft), und dieser Content in irgendeiner Forum für "kommerzielle Zwecke" bereitgehalten und angeboten wird. Diese Formulierung ist leider recht schwammig. Immerhin schalten wir keine Werbung, sonst wäre dieser direkte kommerzielle Bezug damit bereits hergestellt. Allerdings steht unser Forum dennoch in einem unmittelbaren Zusammenhang mit dem Verkauf des Spiels. Und seien es nur Blueprints oder Plugins, die als "Verkaufsargument" herangezogen werden könnten. Es werden Bilder und Videos geteilt, welche in den meisten Fällen eher die Stärken des Spiels beleuchten (und häufig weit über unser eigentliches "Verkaufsmaterial" auf der Storepage oder Webseite hinausgehen).


    Die Hürde, ab wann eine Webseite "kommerziell" ist, ist generell nicht sehr hoch. Wenn du eine private Webseite betreibst und darin für irgendein Produkt wirbst würde man dir häufig bereits einen kommerziellen Hintergrund unterstellen. Spätestens ein Affiliate-Link garantiert dir aber eigentlich einen "kommerziellen Charakter", und sowas ähnliches ist bei RW bzw. unserem Forum ja definitiv gegeben.


    Abschließend würde sowas vmtl. nur ein Gericht klären können, allerdings ist das Risiko einfach viel zu groß.


    Wie wäre es, wenn jemand anderes das Forum machen würde, der nicht zu JIW gehören würde?

    Wenn diese Person damit kein Geld verdient und auch keine Werbung o.ä. im Forum schaltet (man also nirgendwo einen kommerziellen Hintergrund herleiten könnte) würde das funktionieren - aber auch nur, wenn man nicht auf die Idee kommen könnte, dass das Forum in irgendeiner Form für Rising World wirbt. Im Zweifel würdest du dann zu den Unternehmen zählen, die jünger als 3 Jahre sind. Hier sieht der Entwurf vor, dass du trotzdem "größstmögliche Bemühungen" unternehmen musst, die Erlaubnis der Rechteinhaber (deren Werke im Forum geposted werden) einzuholen.


    Red schrieb ja auch, weil das Forum älter als 3 Jahre ist. Vielleicht könnte er es auch einfach umlagert, dann wäre es ganz neu.

    Das war vielleicht etwas unglücklich formuliert. Genau genommen geht es um das Alter des dahinter stehenden Anbieters. Und da es uns seit mehr als 3 Jahren gibt, würde ein Umlagern des Forums leider nicht helfen :(

    Hmm... that code looks perfectly fine to me 8| I've just tested it and it worked...
    But I realized that there are no warnings if the model file or texture does not exist when loading from a resource. If the texture is missing, this isn't a huge problem, but if the model file does not exist (or if the path is not correct), it won't show up in the world... make sure the model path is correct, or alternatively try to load it from a file directly and see if it shows up then. Also make sure that the model scale is not too big or too small (otherwise you may not see it).

    Hmm... the game isn't able to initialize with the audio devices (or communicate with them). This either happens if there is a driver issue, or if there is a wrong audio device configured. Make sure to disable all unused audio devices and maybe download and install the latest audio driver.

    Jetzt sagt doch mal, welche Gründe es gäbe, dieses Forum abzuschalten?

    Naja, das Hauptproblem ist, dass unser Forum älter als 3 Jahre ist. Dadurch wird es grundsätzlich erstmal in die selbe Pflicht genommen wie YouTube und Konsorten. Immerhin handeln wir kommerziell. Ob das 100% auf das Forum zutrifft könnte man zwar ggf. hinterfragen, im Zweifelsfall wird darin oder darüber aber (wenn auch nur indirekt) das Spiel beworben, sodass ich kaum glaube, dass man sich aus dieser "kommerziell"-Nummer rausdiskutieren könnte...
    In unserem Forum besteht zu jeder Zeit die Möglichkeit, ein urheberrechtlich geschütztes Werk hochzuladen - sei es ein Bild, was man sich über Google gekrallt hat, oder ein Musikstück, oder einfach nur irgendein Textausschnitt von einer Nachrichtenseite. Das Problem ist, dass wir in dem Moment, wo das urheberrechtlich geschützte Werk hochgeladen wird, bereits dafür haften. Sprich wenn du jetzt ein fremdes Bild mit Google suchst und herunterlädst, und bei uns im Forum hochlädst (und sei es ohne böse Absichten - bspw. einfach nur, um etwas zu veranschaulichen o.ä), sind wir in der Haftung. Der Rechteinhaber könnte direkt gegen uns vorgehen.


    Wir können zwar den User in Regress nehmen, da dieser ebenfalls haftet (anders, als von den Artikel 13-Befürwortern immer wieder behauptet), aber das bedeutet trotzdem extrem viel Aufwand, und wird möglicherweise ins Leere laufen wenn der User am anderen Ende der Welt sitzt...


    Schließlich wurden z.B. die Plugins von den Eigentümern selbst hochgeladen!

    Das ist zwar richtig, aber selbst hier besteht gewaltiges Gefahrenpotenzial: Ein User könnte bspw. anonym über ein VPN etwas hochladen (muss ja kein Plugin sein, es reicht ja schon ein Lichtbild) explizit um den den Betreiber zu schaden. Wir hatten in der Vergangenheit ja schonmal einen DDoS Angriff (offenbar weil jemand mit irgendwas nicht zufrieden war), mit Artikel 13 muss es gar nicht so umständlich sein, da kann jmd. einfach mehrere urheberrechtlich geschützte Werke hochladen und das beim Rechteinhaber anzeigen. Der Rechteinhaber wird gegen uns vorgehen und in den meisten Fällen einen Schadensersatz einfordern.


    Unterm Strich gibt es nur drei Möglichkeiten:
    - Upload-Filter einsetzen und mit einem gewissen Restrisiko leben (da ein Filter nie zu 100% arbeiten wird)
    - Oder alle Beiträge von Hand prüfen und erst dann freischalten, was selbst für unser kleines Forum schon extrem viel Arbeit bedeutet - zumal man persönlich nie genau einschätzen kann, ob etwas jetzt urheberrechtlich geschützt ist oder nicht (außerdem wird das dann so lange dauern, dass die User ihre Beiträge gleich per Post versenden können)
    - Oder die betreffende Seite vom Netz nehmen oO


    Die Urheberrechtsreform schießt eindeutig über das Ziel hinaus. Die jetzige Regelung ist m.E. eigentlich völlig in Ordnung - der Betreiber haftet erst dann, wenn er von der Urheberrechtsverletzung Kenntnis erlangt und trotzdem untätig bleibt.

    Kann kann man nicht eigentlich auch einen anderen Datenbank connector quasi selber hinzufügen wenn man das möchte und kann (programmieren)?

    Du meinst den Connector des Converters? Also das Projekt ist nicht obfuscated, du könntest es also prinzipiell verändern wenn du möchtest... aber zu welchem Zweck möchtest du den Connector austauschen? Der Converter unterstützt ja bereits SQLite und MySQL (in beide Richtungen) ;)


    ich hab gerade eine ganz andere genommen die hat prima geklappt

    Freut mich, dass es funktioniert :) Wegen der HS Welt müssen wir nochmal separat schauen^^

    Das Problem ist, dass auf deinem System nur eine 32 Bit Java Version installiert ist. Lade am besten die 64 Bit Version von Java ("Windows Offline (64-Bit)") herunter und installiere diese, dann kannst du dem Server auch mehr RAM zuweisen ;)
    Falls du aber noch nicht connecten kannst, prüfe am besten mal, ob er wirklich von außen erreichbar ist. Starte dazu den Server und gehe dann zB auf diese Webseite und prüfe, ob der Port 4255 (sowie die anderen Ports) erreichbar sind: https://www.yougetsignal.com/tools/open-ports/

    Work well for adding new custom items to the inventory (in the first available free slot or stacks if item already exists), however, it does not generate the nice inventory addition notification/animation on the lower right hand corner of the screen.

    Oh, thanks for letting me know! This seems to be a general issue with the "insertNewItem()" methods (not only affecting custom items) =O


    The names, including definition name are all "apiitem" and the getTypeID are all the same at 890

    Yes, that's intended. Internally there is a universal "apiitem" which is used by every custom item. This way the game makes sure there are no collision between item id's, and in addition to that, the game is still runnable if stop using a certain custom item plugin (while there are still custom items in your inventories or chests) ;)
    The game distinguishes individual custom items via the item attribute. Every custom item has a CustomItemAttribute (which can be received with Item.getAttribute()). You can add individual attributes to your CustomItemAttribute (this way you can store additional information per item), for example:


    You can also get the UUID from the CustomItemAttribute. This way you can get the actual CustomItem definition from the server:

    Java
    Item.CustomItemAttribute attribute = (Item.CustomItemAttribute) item.getAttribute();
    CustomItem customItemDef = getServer().getCustomItem(attribute.getUUID());
    //Probably it's always a good idea to do a null check
    if(customItemDef != null){
    String itemname = customItemDef.getName();
    int maxStackSize = customItemDef.getMaxStacksize();
    }

    Dies würde bedeuten das nur das geladen wird, was der Spieler wirklich sehen kann.

    Also grundsätzlich werden immer die Weltdaten vom Server übertragen, die innerhalb des Sichtradius sind (abhängig von der Sichtweiteneinstellung in den Optionen). Diese Chunks werden alle geladen, generiert und an die Grafikkarte gesendet bzw. dargestellt. Allerdings ist "View-Culling" bereits implementiert, d.h. es werden alle die Chunks ausgeblendet, die außerhalb des Sichtkegels der Spielerkamera sind. Sprich die Chunks, die bspw. hinter dem Spieler sind, werden nicht gerendert.
    Im Speicher müssen wir diese Daten aber trotzdem behalten, da es anders nicht funktionieren würde (da das Laden/Generieren einfach zu lange dauert, und es ja äußerst unschön wäre, wenn die Welt sich erst aufbauen muss, wenn der Spieler sich umdreht - und schließlich kann sich der Spieler ja recht schnell umdrehen). Hier würden wir ohnehin keine Performance sparen, eher im Gegenteil, das ständige Nachladen und Generieren der sichtbar gewordenen Chunks würde die Performance eher noch drücken :S


    In dem Bereich haben wir also leider schon das Ende der Fahnenstange erreicht, denn die großen Performancegewinne sind wirklich durch das View-Culling erzielt worden (was aber schon seit Anfang an drin ist). Man kann sich den Unterschied anschauen, wenn man in die Konsole toggleworldgeneration eingibt (was die Weltgenerierung pausiert) und dann etwas wegfliegt, sodass man den gesamten generierten Weltbereich im Sichtfeld hat. Hier kann logischerweise kein View-Culling angewendet werden, sodass die Framerate wesentlich geringer ausfallen dürfte.


    Um aber Missverständnisse zu vermeiden: Wenn ich vom "Ende der Fahnenstange" rede, dann beziehe ich mich nur auf das Ausblenden von nicht-sichtbaren Chunks. Natürlich gibts im Spiel noch an vielen anderen Stellen Optimierungsspielraum ^^


    Es wäre ganz gut wenn man die Lichquellen als Außen und Innen bestimmen könnte,
    somit könnte das Spiel alle Lampen und Fackeln usw die Außen stehen am Tage wo man sie nicht
    braucht einfach ausstellen.

    Die Idee ist eigentlich gar nicht so schlecht, ich behalte das mal im Hinterkopf :) Wir wollen das Lichtsystem ja ohnehin überarbeiten. Derzeit zählen feste Lampen und platzierte Fackeln als "statisches Licht", d.h. das davon abgegebene Licht wird für jeden Chunk von der CPU beim Generieren einmal pro Vertex berechnet und für diesen Vertex gespeichert. Das kostet Zeit und Memory, und je mehr Lampen platziert und je detailreicher die Bauwerke sind, desto größer der Einfluss auf die Performance. Wir werden künftig auf einen Deferred Renderer umsteigen, sodass wir jede* Lichtquelle als dynamisches Licht (welches dann ausschließlich von der GPU berechnet wird) handhaben können. Das spart Memory, in erster Linie werden die Beleuchtungseffekte dadurch aber schöner ;)


    Wenn ich keine Animation sehe, dann brauch ich sie auch nicht im Speicher.
    Also wenn ich zwar fast daneben stehe aber eine Mauer oder Wand dazwischen ist.

    Das ist quasi auch bereits umgesetzt, aber auch das nur im Zuge des o.g. View-Cullings (d.h. zB die Animationen für NPCs, die hinter mir stehen, werden nicht aktualisiert [bzw. nur sehr rudimentär aktualisiert, da das Spiel den aktuellen "Fortschritt" der Animation ja trotzdem kennen muss]). Allerdings werden seit dem letzten Update die Animationen nicht mehr von der CPU berechnet, sondern von der GPU. Im "Speicher" müssen die Animationen leider trotzdem sein, denn auch das ist leider nichts, was spontan ge- und entladen werden könnte (und auch hier wäre es ja doof, wenn ein Tier beim ersten Sichtkontakt für ein paar Sekunden komplett eingeforeren ist bis es sich dann bewegt)^^

    "debugplayerbody", das passte soweit. Bis auf das der Player Model sich nicht bewegt wenn man die Tasten Drückt, dann ruckelt das Player Model nur etwas und verbleibt an seiner Position

    Oh, das stimmt =O In der Release-Version ist die Berücksichtigung für diesen Command leider nicht drin (weil der Command schon recht lange besteht, vorher aber nur intern verwendet wurde) :whistling: Das wird in Kürze behoben!


    Ich wollte ein Gegenstand zu Hilfsmitteln hizufügen.
    Kann sein das ich die DB vorher schon durch einander gebracht habe:

    Hmm... es scheint wirklich so, als wenn Gegenstände nicht mehr zu bestehenden Kategorien hinzugefügt werden können =O Das muss wohl durch eine der Last-Minute-Änderungen passiert sein... das wird schleunigst behoben :saint:

    deutsche version


    A new converter tool is now available which allows you to convert current SQLite worlds to MySQL. In addition to that, you can also convert MySQL worlds to SQLite. Download: https://download.rising-world.net/tools/converter.zip


    We highly recommend to create a backup of your world before converting it :!:


    The converter provides a graphical interface where you can set up the path to the world folder and the login details for MySQL. If you want to use the GUI, just start the program via double-click (alternatively you can use the command java -jar converter.jar).


    Alternatively you can run the program from the command line, but then you have to provide the login details as arguments. Ideally you can run the program with the argument ?, then the required parameters are displayed and explained.


    In order to run the program, Java 8 needs to be installed.


    Note: If you convert an SQLite world to MySQL, it's necessary to keep the old world folder since it's still used to store uploaded user images as well as some other world information.

    english version


    Ein neues Konvertierungsprogramm ist nun verfügbar, mit welchem sich aktuelle SQLite Welten zu MySQL umwandeln lassen. Zusätzlich können mit dieser Version auch MySQL Welten in SQLite zurückgewandelt werden. Download: https://download.rising-world.net/tools/converter.zip


    Wir empfehlen dringend, vor der Konvertierung ein Backup der Welt anzulegen :warning:


    Das Programm bietet eine grafische Oberfläche, in welcher der Pfad zum Weltordner sowie die Login-Details zu MySQL angegeben werden können. Wenn die grafische Oberfläche verwendet werden soll, kann das Programm via Doppelklick gestartet werden (alternativ mit dem Befehl java -jar converter.jar).


    Alternativ kann das Programm auch über die Kommandozeile gestartet werden, dazu müssen allerdings die nötigen Daten als Argument übergeben werden. Idealerweise kann das Programm mit dem Arugment ? gestartet werden, dann werden die benötigten Paramter angezeigt und erläutert.


    Zur Ausführung des Programms muss Java 8 installiert sein.


    Hinweis: Wenn SQLite Welten zu MySQL umgewandelt werden, ist es nötig, den Weltordner weiterhin beizubehalten, da sich dort u.a. hochgeladene Bilder usw. befinden, welche auch von der MySQL Version weiter benutzt werden.

    Oh, well that's not supposed to happen =O I will check out what's going on there!
    The code looks fine btw, but you should only use "1" as variation if there is more than 1 variation defined for your item (otherwise, the default variation is 0) ;)

    Dabei ist mir aufgefallen, das bis dato noch Probleme mit dem debugplayerbodygibt die werte ändern sich aber der Body nicht (er zukel nur etwas), Scripte ich ne andere Body Position wird sie übernommen

    Meinst du den Konsolenbefehl? Das ist leider etwas fummelig, aber wenn du "debugplayerbody" eingibst, kannst du mit den Pfeiltasten (sowie Bild-Auf / -Ab) die Position des Spielerkörpers in der First-Person-Ansicht ändern. Während du Shift gedrückt hälst, kannst du ihn drehen. Wenn du "Enter" drückst, wird die aktuelle Position (also die XYZ Koordinate) in die Zwischenablage kopiert. Drückst du Shift+Enter, wird die Rotation kopiert. Alternativ wird beides aber auch im Log ausgegeben.


    Zusätzlich gibts natürlich auch noch "debugitem", womit nicht der Körper, sondern das Item in der Hand bewegt und gedreht werden kann. Sind wie gesagt leider etwas fummelige Lösungen...


    Hatte category="tools", recipe.setLocalizedCategories("Kitchen Gadgets"); auskommentiert. Und er erstellte mir ein Unterverzeichnis Tools, in dem dann aber auch nicht das Rezept angezeigt wurde sowie in "Hilfsmittel" oder "Werkzeuge" ebenfalls nicht.

    Hmm... wie hast du die Kategorie genau angegeben? Also direkt im Konstruktor nehme ich an? Ich weiß gerade gar nicht, wie es sich verhält, wenn eine bestehende Kategorie angegeben wird (in dem Fall "tools"), aber als "Localized Name" etwas abweichendes gesetzt wird 8| Möchtest du das Item denn in einer eigenen Kategorie unterbringen (also "Kitchen Gadgets"), oder willst du, dass sie bei den restlichen Werkzeugen mit auftauchen? In erstem Fall müsstest du einen neuen Namen für die Category vergeben, zB "kitchengadgets" oder so. Ansonsten könntest du mir evtl. einmal den Code zukommen lassen :)


    Vergiss übrigens den Hinweis in der Doku bzgl. lower-case Namen, das stimmt gar nicht =O Es ist effektiv egal, aber die bestehenden Kategorien des Spiels haben tatsächlich einen großen Anfangsbuchstaben. Eine Übersicht über die Kategorien bekommst du über die definitions.db Datei in der commons.jar (unter "definitions"). Du benötigst einen SQL-Editor um die Datei zu öffnen. Dort kannst du dir die "RecipesItems" Tabelle angucken und sehen, in welcher Kategorie welches Rezept abgelegt ist.


    Ansonsten werden in Kürze aber auch die angekündigten Beispielplugins verfügbar sein ;)

    was soll ich da sonst auswählen? Public ?

    Ja, wie gesagt, wenn du "public" auswählst erhälst du wieder die aktuelle Version (und auch automatisch alle neuen Versionen) ;) Die Beta-Branches unter den Optionen sind im Grunde die selben Beta-Branches, die auch bei Steam vorhanden sind. Der Grund, warum die da sind, ist, dass wir damals das Spielerfiguren-Update erstmal nur als Beta verfügbar gemacht haben, was allerdings für Standalone User doof war, da diese keinen Zugriff darauf hatten (daher haben wir den optionalen Zugriff auf die Beta-Branches hinzugefügt).


    Wenn man spielt kommt doch ab und zu Hintergrundmusik. Diese Mischen sich nach einer gewissen Zeit. Hört sich sehr blöd an.

    Oh, das ist merkwürdig =O Tritt das nur bei bestimmten Musikstücken auf? Das muss ich mir ansonsten mal genauer ansehen...