Posts by Minotorious


    Last Epoch is an ARPG that allows full class customisation as well as experiencing its world through timetravel in 4 distinct eras. A demo is already available for you to try out, it can be found on the Kickstarter page.


    The Kickstarter Campaign (https://www.kickstarter.com/pr…/last-epoch/posts/2189358) just ended but you can still back them through paypal on their website: https://lastepochgame.com/supporters/


    Show them your support in my opinion they more than deserve it :)

    I can not resist adding my mustard! :D
    1. Do not use hardcoded path name separators! Not "/" and not "\\"! :D


    Please make use of the getSeparator()-function:

    Java
    String SEP = FileSystems.getDefault().getSeparator();
    String filePath = plugin.getPath() + SEP + "data" + SEP + "mydatabasefile.db";

    As far as I am aware you only need to use the .getSeparator() function if you are using the code on a JVM with multiple partitions each with its own filesystem. If you are using a single JVM then a / is translated to the filesystem's default. I don't think I am wrong but am I? :/

    Is the there a way I can reload the whitelist from the server console ?

    unfortunately not you need to restart the server for the new list to take effect, as far as I am aware.

    Also is there a list of commands somewhere that can be run from the actual server console not from the in-game console ?

    There is no list of commands on the forum about that but the server is using steam CMD so I bet there is a list of available commands somewhere on the steam forums

    It does not seem to recognize short single player UIDs versus Steam

    both steam and standalone players have a type long UID. Unless you mean something else by that? :/


    As I said the plugin probably has bugs in it as it is still in development, I would recommend only using it for testing purposes and to provide feedback to the developer, it is clearly not ready for players to play with. :/

    no need to apoligise :/


    grass is not removed by this tool but with the terrain tool F5 -> paint tool (think it is number 3)


    for the F7 tool, are you sure you are using the correct 1-5 tool to remove what you are trying to remove? e.g. press F7 then press 1 or 2 or 3 or 4 or 5 (to select removal of blocks, vegetation, constructions, objects, or all of the above) and then select an area and hit the Del key to remove what you selected.


    If this doesn't work then can you check in the config.properties file in the RW directory (open it with a text editor) what the Del key is bound to?


    Also are you playing in SP or a MP server?

    Second post in a row but I just checked the decompiled code again and I think I see the problem.


    In the SQL statements it is recommended to use the keyword LIKE instead of an equals = sign because in some systems that causes problems, also in the SQL statements again there are single quotes ` instead of '. I would recommend removing the single quotes all together since many systems confuse them and don't recognise table names if they are in single quotes.


    Something else I noticed is that the iConomy plugin is not using prepared statements for its SQL statements, that doesn't cause problems but it is not a good practice since a player could use an SQL Injection attack to alter anything they wanted in the database.

    Ah well just a thought, I was always taught to use escape backslashes.

    I think front slashes already take account of this thus you don't need the escape character on backslashes. i.e. / and \\ are equivalent characters in a file path string.


    Sql should be giving you errors if there are problems?

    This is true if the queries happen and are failing there should be SQL exceptions thrown, and if caught by the plugin itself there should be an error message appearing if the plugin creator has coded one in.

    Maybe the queries are wrong? Using update statements without inserts? Sorry not going to be much help here.

    I will have a look at the decompiled code again to check but no way to know for certain without the full source code :/

    nah doubt that is the cause, I use similar statements for the databases on all my plugins and have no problem no matter if they run on a windows or linux/unix server :/



    Java
    Database mainSQLite = getSQLiteConnection(getPath() + "/assets/" + getWorld().getName() + "_Portals.db");

    Well the removal tools can remove blocks, constructions, objects, plants but not terrain so you are trying to use the wrong tool for the job. Also when using the removal tool make sure you are using the correct subtool for the thing you want to remove.


    To edit terrain you need to use the Terrain tool F5 -> 1 and right click to subtract terrain (similarly left click to add terrain).

    Offensichtlich reicht meine Praktische erfahrung mit Windows Servern nicht aus. Hier könnte mir mal einer sagen wie Windows RW im Serverbetrieb neu Startet? Ich denke über PowerShell?!?
    ###
    Obviously, my practical experience with Windows servers is not enough. Here could someone tell me how Windows RW restarts in server mode? I think about PowerShell?!?

    does it even matter how the server restarts? ?( Shouldn't make a difference to the plugin's function :/ But yes a windows server is restarted with almost the same commands as a linux one but instead of doing through the shell it can be done either through CMD or in case you need some more special command the PowerShell. ;)


    The way I understand a plugin like this would work is by checking the difference between the current server time with the restart time every 2-5 seconds and when that difference is less than 1, 5, 10, etc. minutes it would send a message.


    You can get the current server time by using java.util.Date and then read the restart time from a file as you have already done. ()


    The difference is long difference = restartTime.getTime() - currentTime.getTime(); in ms.


    Thus divide that number by 60000 to get the time difference in minutes.


    Then start sending the announcements in the predefined intervals when the minutes value is less than e.g. 10.

    I am away from my computer that is set up for reviewing the java code so I could not see the routine calling you you displayed. However, in this case the server operators are given the actual code so it is reviewable and possible correctable. In most cases you dont get the code to review.

    Most plugin creators don't provide source code by default, you can ask them for it but they are not obligated to share it with anyone. I have on multiple occasion provides snippets of my code to help others but I will only provide the full source of my plugins in case I intend to give up on updating them so that someone else may take over.

    Anyway you help eliminate that theory. It must be the plugin that can’t see its own database for some reason and it is the plugin that is rewriting naming the databases

    yes it is the plugin but it is not really renaming the database, it is looking for a database named iconomy-WorldName.db if it doesn't find one named that it just creates a new one.


    So if you want the plugin to work you should not touch the plugin folder unless instructed to do so by the developer, or ofc in case there are settings you can specify for the plugin e.g. the amount of money new players get when they connect for the first time, or the colour of the plugin's text output.


    If the plugin doesn't work as provided by the developer then something is wrong with the plugin and the developer is the only one who can fix it.


    In extremely rare cases it can also be a bug in the API but then the plugin developer will have to let red51 know and fix it while letting you know you have to wait for a fix.

    I did not name any database because they said not too in their setup. They set it up not me All I got was the address.

    oh ok I see :/ That is weird for them not to allow you to customise it but idk their policies.

    So now it is the plug in problem


    I do have plug ins that have the same world name and no - name and they work ok. They have the pingperfect only name

    yes that is correct, if a plugin is not functioning properly it is not the game's, server's, or host company's fault, it is the plugin creator's fault 99% of the times.

    No pingperfect is not automatically renaming the databases, your world is called pingperfect, change the world name in the server.properties file and you will see the new databases will have the new name.


    What happened is that you didn't set the world name before starting the server so pingperfect automatically set it to "Pingperfect" else your server wouldn't have started.


    The plugins are not working not because their database is not recognised but because they probably have bugs in them. Try using my portals plugin and you will see that a database called Portals_pingperfect.db will be generated and it will be working perfectly.

    In your screenshots I can see that the folder under the worlds directory is named Pingperfect, so I have one important question, what is the name of your world?


    Did you specify it in the server.properties file?



    Edit: I opened and decompiled the iConomy plugin and this is the line that specifies the plugin database: getSQLiteConnection(getPath() + "/database/" + getDescription("name") + "-" + this.world.getName() + ".db"); as you can clearly see it includes the world name. The world name is the name of the folder under the worlds directory so from my understanding your world is indeed named Pingperfect and the company is not altering anything on its own. To test this open the server.properties file and change the world name entry in it so that the server generates a new world with the other name, then check if the server provider will change that name (which I highly doubt they will). Make sure you backup your old world before doing any of this.