Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

cadergator10

Members
  • Content Count

    83
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by cadergator10

  1. 15 hours ago, bioscreeper said:

    --IP address: 119.18.14.36 aparrently                                                  

    Yeah thats a valid IP. I don't know if your server is offline atm or not, but it doesn't show up on https://mcsrvstat.us/server/119.18.14.36

    Either something isn't port forwarded, firewalls not open on PC, different port than 25565, or possibly the ISP is blocking the port in most extreme case. I would try checking through all the possible snags and checking on the status checker to see if it's visible.

  2. On 5/23/2023 at 2:20 AM, bioscreeper said:

    Can you try to log in now? I set offline mode to false. Also, can you use a WAN IP to address a machine on your LAN network?

    (I am modestly sure that our WiFi and Cat5e/6 are on different vlans)

    There is no way for me to connect to your server without the WAN IP. You provided the local IP (192.168.xxx.xxx) and it's also not an actual IP to connect to your server with. I would look up a tutorial on "setting up a dedicated server" and follow it through. A couple necessary things to do is to make sure the IP to the computer hosting the server is port forwarded in the router. Another note is your ISP may block certain ports, prohibiting hosting a server.

  3. 7 hours ago, RoboticCube said:

    Isn't the server IP only possible to be used when on your own computer or on LAN? we can't join you if your server doesn't have an actual domain.

    Yeah. localhost can only be used if you are joining on the computer you are playing on. The 192.168.x.xxx is the ip that is used to connect on the LAN. A WAN IP is necessary to join a server over the internet, grabbable by searching My IP on google.

  4. 16 hours ago, Crafter38 said:

    Thank you so much! I didn't know about this notation. Now works perfectly. Let's assume that I know nothing about the content of the tank_controller component. So how do I get all the parameters of it with

    
    for 1, 5 do
    	print()
    end

     cycle for example? How do I put strings (e.g. "amount") into indexes of this cycle?

    I think the only way to do that is a foreach loop. If that loop is named myTable, then

    for key, value in pairs(myTable) do
    	print(value)
    	print(myTable[key])
    end

    both of these print the same thing for each element in the table

  5. 5 hours ago, bioscreeper said:

    Have you started? (I might join!)

    I haven't done much progress in a long time lol, but it is something I do want to continue work on. I can send the github files to show what I have done so far once I get back home. It's not enough progress that restarting is not an option (a lot of the stuff is a mess lol)

    I'll add documentation soon to what code I have made so it can be a little more understandable

  6. su is set to 222 and su2 is set to 333

    When you create the table "sec", you are initializing it to {222,333}, not {["su"] = 222, ["su2"] = 333}

    So in this case, the table first is initialized to {{222,333},{452,349}}, which is why print(first[1][1]) works.

     

    The tank controller is returning dictionaries, which indexing with a number does not work with. That's why print(co[1][1]) won't work, but print(co[1]["amount"]) and print(co[1]["amount"]) will.

  7. New update released for the Security System stuff

     

    1. Added support for RFID Readers and KeyPad Reader
    2. Split up variable creation and user pass editing into 2 tabs on the security module (little easier to understand and more intuitive)
    3. DoorSetup module will clear a door's var passes if one of the passes are missing (like if you deleted one) to prevent crashes.
    4. With Keypads, there are local and global keypads. Local are just how they sound: the code is stored on the door itself and unique to only itself. Global keypads are keypads whose codes are stored on the server. This is what you can now modify in the database. You can create global keypads and edit the codes, which the doors will all share.
    5. For developers: Linking feature in SecurityAPI is now fully supported. I'll make a video on that later, but will add that into wiki soon.

    All this will be written on wiki when I have the time.

    NOTICE: Editing card readers on doors (using diagnostic.lua's runtime door editing) has been disabled for the moment due to major issues with how I store the readers. Be wary of this before you try and use it to add new doors. You can "technically" do it manually, but it's a pain. I do think the autoinstaller's door editing feature works fine? It's just a bit more of a hassel. 

     

    Video series on how to install and configure everything will be rolled out over the next... weeks? When I get time I'll make videos. This will include a development tutorial to make your own programs near the end. I'll provide a link to the playlist once created

  8. Little late, but Update 4.0.2 has been released (I may abandon this update system entirely, cause it never stays constant lol)

     

    First off and majorly off: OpenOS support! You are no longer required to install MineOS to utilize the database! All this is because of a custom Compat library that tries to make any call to a command return in one kind of way.

    You now only need to install one file! This doesn't matter in MineOS since you have the app market (which is still required there), but for OpenOS this is major. You don't even need to install all the GUI dependencies or compat file, they will install for you automatically. It also installs the database, which has some benefits.

    Auto-updating! The file you download has the ability to automatically update your database whenever a new Servertine version comes out! This works both on MineOS and OpenOS, so you don't need the app market to update Servertine (unless the boot file needs an update or fix of course)

    Error handling! There is a custom error handle in the boot file which is called if the system crashes because of the module or the database. The main reason for this is...

    Anonymous Bug Reporting! If a module or the database encounters an error and it's enabled, the system will auto send the error/crash report to the server describing what may have went wrong. It's not able to be seen by developers yet, but when I add that in, it can make discovering bugs much easier for the dev

    Here is the RAW url of the boot file (for installing into openos): https://raw.githubusercontent.com/cadergator10/Opencomputers-servertine/main/database/Boot.lua

     

    Video series on how to install and configure everything will be rolled out over the next... weeks? When I get time I'll make videos. This will include a development tutorial to make your own programs near the end. I'll provide a link to the playlist once created

  9. On 9/29/2022 at 9:25 PM, AtomicPotato said:

    Hey this is pretty cool. I noticed some problems when using {x=0,y=0,z=0} as the starting position though, maybe because the parent of a node in that A* implementation is initialized at (0, 0, 0)?

    I have some suggestions for improvement too:

    • The calculateScore() function uses a heuristic based on the Euclidean distance to the goal, it should be the Manhattan distance for grid-based movement. For example, you could change line 55 from "local s = dx * dx + dy * dy + dz * dz" to "local s = math.abs(dx) + math.abs(dy) + math.abs(dz)". This should help increase efficiency and speed of the calculation.
    • getAdjacent() isn't really necessary, you could just unroll that loop and inline the function. Since it's a 3D grid, each node has up to 6 neighbors with exceptions at the edges of the grid.
    • Most implementations of A* use a priority queue to find the node with the lowest score in constant time, O(1). The code you have does a table.sort() across all the nodes, which I'm guessing will be O(n) average case. If you don't have any problems with the calculation taking a long time for larger areas, then you probably should keep it how it is. However if there are some performance issues then I would recommend taking a look at priority queues based on a binary heap, it's not hard to implement.

    I've been working with A* quite a bit recently for a mining robot that needs to navigate in a cave. In my case, I'm considering the "hardness" of blocks when the robot plans a path it needs to dig through (meaning the robot may choose to mine through soft blocks like dirt instead of stone when possible). The hardness values can be obtained from the geolyzer hardware (see https://ocdoc.cil.li/component:geolyzer ), it scans a specified area in the world and returns the data in an array. Here is a demo implementation of my A* algorithm if you are curious: https://pastebin.com/K54Nkp1Z

    Thanks! If I get back into the A* stuff I'll take a look at all this

  10. On 1/16/2023 at 11:08 PM, bioscreeper said:

    I...can't figure out how to download the nods. (I also am on a Mac, no administrator access(AND vanilla launcher)).

    I'm sorry I'm so late lol. I never received the notification. It uses the technic launcher (If still interested I can send the dropbox link.)

  11. On 4/4/2023 at 3:52 PM, Xakorik said:

    App market down?

    Yeah, the website's down. The developer's away on vacation for the moment, so it's going to be a little while. I'd expect anywhere within the month, but I don't know the exact extent to how long they are on their vacation.

  12. Next planned update is going to be big. I am working on making the database work on both MineOS and OpenOS nicely.

    I made 2 new files: Boot.lua and Compat.lua. All you need to install on your MineOS or OpenOS computer is Boot.lua! It's an easy one file installation. Then if you run it, it will install all dependencies (Including the Compat file, GUI api and all its dependencies) and then install all the Servertine files! It then runs the program and it just works! The compat file contains checks for whether the program is installed on MineOS or OpenOS, so when the database runs a command on the file, it converts it to the OpenOS or MineOS library! Since modules can also use the compat file if needed, it should mean that anything coded for the API will work on both systems!

    On top of this, the boot file contains an autoupdater, so if a new Servertine system is released, you can choose whether to install or not. Now I don't have to worry about the MineOS servers going down lol

    Lastly, this boot file will allow me to have my own error handling. If I learn how to do it right, it provides a way for me to add in automatic error reporting in the future.


  13. New testing world & progress update on the 4.0.1 update, which will soon bring the RFID reader, Keypads, and more. Lots of this is beta, buggy, and not final, but I will iron this all out before release in the... undeterminable future.

  14. Made a mistake and when it returned to drop off all the stuff, it didnt move so I quit the program and restarted it. Problem was that it was faced the wrong way, so it mined the item chest and charger and turned around and proceeded to dump all my items into the hole into the lava XD


    I need a new charger lol

    Also it likes to steal my armor XD

  15. I did some things

    I got RFID working for update 4.0.1, the next update. It caused me massive pain figuring out how to make it work, but it just does. Gotta work out all the kinks like why THE READERS FLASH WEIRDLY but it workie at leastie

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.