Announcement

Collapse
No announcement yet.

Allocs Server Fixes Auto Teleporter for Map Generation

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Allocs Server Fixes Auto Teleporter for Map Generation

    Hey there,
    i wrote a small script to generate a random gen map.
    Prerequisites are Python 3 and Allocs Server Fixes
    Its available here: https://github.com/a4blue/7dtd-Auto-Tele-Map-Gen
    Let me know about any bugs, suggestions or anything else.
    On screen Instructions should be straight forward.

    Have fun

    #2
    Might increase the delay between ports. In testing so far it seems to be teleporting before loading the chunks, and Allocs mapping tool isn't catching it about 2/3rds of the time.

    Here is an example...
    Mapping.jpg
    See the city there? That's right about where it started the spiral. Most of the upper center along that road was already mapped. Almost everything not mapped, most of the snow, and about half the grass on the right, has been passed through using the script.

    I'm not running this on a slow system either. i7-3930 with 16GB RAM.

    Comment


      #3
      Yeah, the tele command needs 15 to 20 seconds or more to load the chunk. At least on my dedi MP.

      Comment


        #4
        Also note, my server is sitting pretty steady at 1.8GB RAM used with an average CPU load of 12%. The client is at 11.7GB used with an average CPU poll of 3-4% when minimized. I tabbed back into the client to get the load on it there, but the console is spamming the debuffs and after exiting the console, I cannot do anything. Game doesn't appear to be stuck, it's likely just a side-effect of the ultra-fast teleporting. Correction, I just cannot do anything with the toolbar. Map, crafting, and character screens worked fine. I imagine the skill and buddy menu works as well, I just didn't open them. CPU load was still 3-4% with the client in focus.

        Comment


          #5
          I took what Sylen said as well as my new found knowledge of the tele command and tried this.

          I changed the Y coord in this line from 0 to -1. This will allow the chunk to load faster and puts the player on the top most block.

          Code:
          s = "tele "+PLAYER+" "+str(x)+" -1 "+str(y)+"\n"
          I then increased the sleep time from 1 to 2 here to allow more time for the surrounding chunks to load.

          Code:
          time.sleep(2)
          I ran this in mode 0 for about 15 to 20 minutes before my client froze up. While running this I noticed that the deuffs were constantly firing in the command console. That may have caused the freeze up, so I commented out the line removeBuffs(PLAYER,tn) for all three modes, bumped the sleep back to 1 and ran it again. It ran for about 20 minutes before I stopped it. Seems as if the immediate chunk is all that gets loaded when running that fast. It left a few lines and blocks of shroud as I moved around, but not too bad. Maybe the above changes without debuffs will work better?

          Comment


            #6
            I planned on stopping it when it hit 8k. Low and behold it did that entirely on it's own.
            Since I still haven't noticed much improvement in the coverage on Alloc's map, I've saved the world, restarted the server, and am now running the rendermap command. It's currently at 39% (6464/16384 chunks) and it's been running for about 50 minutes.

            Based on current information I fully expect that it will render all of the chunks even though they did not get rendered while the script was running because it was teleporting too fast. More to come in an hour or so when it gets finished.
            (Also remember, when you are running the rendermap command, no one should be logged into the server.)

            Comment


              #7
              OK, update. It did finish mapping the majority of the world. It is really splotchy at the cities and in some other areas, which is likely a result of teleporting before the server could fully generate the chunks.

              Here's the final result.
              map.jpg

              Here you can see how it's missing sections in the cities and the surrounding area.
              splotchy.jpg

              Not a bad seed, but I do see some really wonky areas on the edges. A couple of those biomes intersect really strangely too.

              Edit: Dunno why the forum insists on shrinking images into oblivion. Here's a link to the full size picture of the map.
              http://i1226.photobucket.com/albums/...p.png~original

              Comment


                #8
                hey there to you all
                thanks for the replies and i will look into the problems and your suggestions. I found a god-mode value in the source of the dedicated server and will look into if i can use it

                Comment


                  #9
                  What did y'all do to prevent your character from dying of hunger/thirst?

                  Comment


                    #10
                    Ah, I see it doesn't matter.

                    Comment


                      #11
                      I'm a bit new/confused on how to use this/install this?

                      Could you provide in lamers terms what the required process is to use this and how to install it properly?

                      Comment


                        #12
                        Go to here and get the Python download
                        https://www.python.org/downloads/release/python-351/

                        Go to his links and get those two files
                        https://github.com/a4blue/7dtd-Auto-Tele-Map-Gen

                        Once you have the Python release installed, double click the 7dtdtele.py file you downloaded from the 2nd link, and it'll ask you some questions.

                        Make sure you have a player in the world.

                        It asks for your server IP, Port, Password, and Player. The next option is how you want to teleport, I just choose "0".

                        It'll telnet into your server and teleport that player around in a spiral. Your player will die, don't respawn, mine seems to still be teleporting around dead.

                        I DID edit the .py file as suggested above to change the timer a bit, since my chunks weren't loading fast enough.

                        I used this:

                        s = "tele "+PLAYER+" "+str(x)+" -1 "+str(y)+"\n" <--- the default is 0, not -1

                        and I used this:

                        time.sleep(20) <--- the default is 2 (I think), I changed my to 20, and it makes the teleports happen every 20 seconds to give the chunks time to load.

                        Comment


                          #13
                          Thank you very much, very helpful. Not that I'm complaining but it would seem that developers sometimes forget that there are people (like myself) who lack the knowledge and sometimes don't include readme instructions on how to use it.

                          Comment


                            #14
                            Yeh, I was thrown for a whlie too, especially at the "On screen Instructions should be straight forward." part, since um, there are no instructions.

                            One thing I did learn, is that when getting the .py file, NOT to download from firefox. I made a file, and copy/pasted the contents into it. Not sure how you're supposed to get those files, but that's the only way it worked for me.

                            Comment


                              #15
                              @Sylen: What settings did you use to get a full map? I have the map loaded in my browser and it's definitely not catching up to my 20 second delay teleports. I have to wonder if it eventually will, or if I'm doing a lot of teleporting for nothing.

                              Or will running rendermap take care of this for me?

                              Comment

                              Working...
                              X