TripleA Logo TripleA Forum
    • TripleA Website
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Tags
    • Register
    • Login

    Join the TripleA TEAM!

    Scheduled Pinned Locked Moved News
    85 Posts 20 Posters 53.5k Views 19 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G Offline
      Giglfoosm @redrum
      last edited by

      @redrum Awesome thanks!

      1 Reply Last reply Reply Quote 1
      • agbottanA Offline
        agbottan
        last edited by

        In @Giglfoosm words, "I've been a long time lurker" too.
        I'm interested in maps development.
        I think about making a script to export an Inkscape file into TripleA format.

        redrumR 1 Reply Last reply Reply Quote 2
        • redrumR Offline
          redrum Admin @agbottan
          last edited by

          @agbottan At a bare minimum, the only thing you should need to do is generate a black/white borders image from the file then you can run it through the map creator included with TripleA. Then the original image can be used for the relief layer.

          TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

          agbottanA 1 Reply Last reply Reply Quote 4
          • agbottanA Offline
            agbottan @redrum
            last edited by

            @redrum, for what I remember, the map's lines lies in a text file with polygons coordinates. I suppose that these polygons are generated by the black/white contrast borders with some sort of bitmap processing. I'm thinking about extract the territories polygons from the SVG data in some way.
            Your suggestion of using Inkscape to generate the black/white map for the current editor is nice too.
            I'll start assembling the stuff here and, when having something to show, I'll open a thread in this forum about this specific matter.

            redrumR 1 Reply Last reply Reply Quote 1
            • redrumR Offline
              redrum Admin @agbottan
              last edited by

              @agbottan Yeah, the map creator generates several files from the black/white border image. The main one is the polygons.txt which specifies the boundary points for each territory. It also generates a centers.txt and place.txt. I think you are probably better off generating the black/white border image then using the existing TripleA map creator to generate the necessary files. Otherwise you probably will end up having to recreate much of that tool. Here is the map documentation: https://github.com/triplea-game/triplea/blob/master/docs/map_making/map_and_map_skin_making_overview.md#sec_2

              TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

              1 Reply Last reply Reply Quote 3
              • 0az0 Offline
                0az
                last edited by

                I'm interested in improving ease of use: specifically, making installing/hosting easier.

                Ideas:

                • Prebuilt Docker container + sane docker-compose for the bot functionality... with automatic builds on CI. I started work on this, and I may as well send this upstream.
                • Better bot hosting documentation – I just ported @prastle's batch script to shell, and sharing would be good. This ties into point 1.
                • Homebrew Cask for MacOS.
                  • I tried finding a better way: javapackager (Java 8 and JavaFX, removed at some point) / jpackage (afaik only included in JDK 14, but works with earlier Java versions) / appbundler (community fork of Oracle tool)? Bundling Java applications for Mac is hard, it appears.
                  • Is it possible to configure Install4J to generate an App instead of an App Installer? The former is idiomatic on Mac. I contacted Install4J support, since I was curious, and I believe you can just uninstall TripleA on Mac by deleting the .app bundle, as it's self-contained. This also means the .app bundle is fully self-contained, and thus no installer is necessary. I experimentally verified this by grepping for a JRE installed by the installer app.
                • STUN/TURN/ICE? ZeroTier integration? Some other form of working around NAT? Implementing these on the client is probably beyond what I can accomplish in any reasonable amount of time. I'll call these "stretch goals".

                And an off-topic question:

                • What exactly breaks client-side hosting? Opening a TCP tunnel with ssh -R 3300:3300 -NT $proxy_server doesn't work. This is on the flavor of 1.9.x that the default installer gave me.
                • What's the state of 2.X?

                GitHub: @0az / Email: See GitHub.

                RoiEXR 1 Reply Last reply Reply Quote 1
                • RoiEXR Offline
                  RoiEX Admin @0az
                  last edited by

                  @0az

                  Prebuilt Docker container + sane docker-compose for the bot functionality... with automatic builds on CI. I started work on this, and I may as well send this upstream.

                  Good Point. We're using docker for some development ease-of-use but not in production AFAIK. Currently we're using ansible to configure remote machines in an automated fashion which works quite well for production but is not that easy to reproduce for local development.

                  Better bot hosting documentation

                  Hosting is not something we want the regular user to have to do on their own, it's a "power-user-only" feature. That's why there hasn't really been throughout documentation.

                  What we really should document is all the potential command-line options. I'll come back to this later.

                  STUN/TURN/ICE? ZeroTier integration? Some other form of working around NAT?

                  Good thing you consider that 😏
                  I have actually read a little bit into this but haven't really found a satisfying solution for us.
                  I ended up with an approach that requires some manual configuration, but works for everyone that bothers to try. See https://forums.triplea-game.org/topic/1970/how-to-host-using-a-relay-service for more information.
                  Basically you can provide a "public IP" that clients will use to connect to instead of the originating IP.

                  What exactly breaks client-side hosting?

                  I'm not entirely sure what you mean. There are basically "2 ways" to host. If you're trying to register your server at the lobby, the lobby will check if it actually can establish a connection and the client will shut down if it can't open a TCP connection. However if you don't try to connect with a lobby in the first place and try to host "locally" you should be able to ssh-forward as much as you want.

                  What's the state of 2.X?

                  Hard to describe. Basically we're in a state where we'd like to create a new real release, but there are a few "common bugs" on some machines (like StackOverflowErrors) that we need to get fixed before commiting to it.

                  0az0 1 Reply Last reply Reply Quote 2
                  • 0az0 Offline
                    0az @RoiEX
                    last edited by

                    @RoiEX said in Join the TripleA TEAM!:

                    Hosting is not something we want the regular user to have to do on their own, it's a "power-user-only" feature. That's why there hasn't really been throughout documentation.
                    What we really should document is all the potential command-line options. I'll come back to this later.

                    Ah, yes. That would help a lot. Still doesn't reduce the benefit of having a nice script / Docker Hub image, though.

                    I ended up with an approach that requires some manual configuration, but works for everyone that bothers to try. See https://forums.triplea-game.org/topic/1970/how-to-host-using-a-relay-service for more information.

                    Yeah, I saw that. It's not particularly satisfying, but it works. SSH port forward, but for people without SSH boxes.

                    I'm not entirely sure what you mean. There are basically "2 ways" to host. If you're trying to register your server at the lobby, the lobby will check if it actually can establish a connection and the client will shut down if it can't open a TCP connection. However if you don't try to connect with a lobby in the first place and try to host "locally" you should be able to ssh-forward as much as you want.

                    Ah, I see. I guess there's a feature request here for "tunnel mode" to allow port-forwarding with the lobby.

                    GitHub: @0az / Email: See GitHub.

                    RoiEXR 1 Reply Last reply Reply Quote 1
                    • RoiEXR Offline
                      RoiEX Admin @0az
                      last edited by RoiEX

                      @0az

                      Still doesn't reduce the benefit of having a nice script / Docker Hub image, though.

                      True. Previously this would've tied to some hassle, but thanks to the more "recent" github features we could host docker images on GitHub AFAIK. See https://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages

                      It's not particularly satisfying,

                      True, but at least it - in theory - enables people to host even if their ISP doesn't offer dedicated public IPs

                      1 Reply Last reply Reply Quote 2
                      • RoiEXR Offline
                        RoiEX Admin
                        last edited by

                        @0az

                        Homebrew Cask for MacOS

                        Almost forgot that one. We are currently struggling with some debian packages that are not maintained by us, but are out of sync with current master. This might sound scary for some devs right now.

                        However Homebrew Casks are managed on GitHub, so if we "adjust" the installer properly it would be almost no overhead to keep it up-to-date. Good idea IMO.

                        Is it possible to configure Install4J to generate an App instead of an App Installer?

                        Yes, with limitations, even though I'm not sure the limitations still apply to us.
                        It's difficult experimenting with the installer though, none of the devs has a mac to test changes to their disposal.
                        I can tell you how to configure the installer on your own though, install4j provides a nice UI for all settings. PM me if you're interested. Once you have something that works to you we can discuss the differences on GitHub.

                        1 Reply Last reply Reply Quote 1
                        • LaFayetteL Offline
                          LaFayette Admin
                          last edited by

                          For 3.x or 4.x I would hope that bot hosting becomes a thing of the past. Instead bots would do application level network forwarding. We're some time out from getting to that point.

                          Generally the problem with bot hosts has not necessarily been ease of getting up and running but having them run for long enough. It's common to see someone host a bot for a week, or a month, but then the server is disconnected and they drop off. At a cost of 10$ per 7 bots, simply paying $20 / month is not that bad for more bots than we actually need.

                          I just ported @prastle's batch script to shell, and sharing would be good

                          There is already a shell script, I'm curious how that would be different and if the one we distribute and maintain is difficult to find?

                          0az0 1 Reply Last reply Reply Quote 1
                          • LaFayetteL Offline
                            LaFayette Admin
                            last edited by

                            @Giglfoosm @0az , very exciting you want to contribute. Let us know if you have any questions, could use a starter project, any help getting started or what not. Feel free to post in the development section or in github issues for any topic specific follow-up.

                            1 Reply Last reply Reply Quote 3
                            • 0az0 Offline
                              0az @LaFayette
                              last edited by

                              @LaFayette said in Join the TripleA TEAM!:

                              There is already a shell script, I'm curious how that would be different and if the one we distribute and maintain is difficult to find?

                              Just to clarify, do you mean shell as in #! /bin/sh? I was not aware of it – can you post a link? The only one I found was the aforementioned Windows batch script, which doesn't exactly work for my server.

                              @LaFayette said in Join the TripleA TEAM!:

                              @Giglfoosm @0az , very exciting you want to contribute. Let us know if you have any questions, could use a starter project, any help getting started or what not. Feel free to post in the development section or in github issues for any topic specific follow-up.

                              Will do.

                              GitHub: @0az / Email: See GitHub.

                              1 Reply Last reply Reply Quote 3
                              • LaFayetteL Offline
                                LaFayette Admin
                                last edited by

                                @0az https://github.com/triplea-game/triplea/tree/master/game-headless/scripts, the two scripts are bundled with the headless bot zip: https://github.com/triplea-game/triplea/releases/download/2.0.20234/triplea-game-headless-2.0.20234.zip

                                S 1 Reply Last reply Reply Quote 1
                                • S Offline
                                  SilverBullet @LaFayette
                                  last edited by

                                  @LaFayette Nothingtoseehere 25 minutes ago
                                  Hi. I'm a long time user of the game and can do Java at a beginner level and so I would like to help improve the game. But it's so big a project that I don't really know where I could start doing that. I know there are some getting started documents on github. I already am registered there and have IntelliJ set up on my computer. Maybe someone like @LaFayette can point me to some problems or issues that a beginner like me can be expected to understand and help with.

                                  B 1 Reply Last reply Reply Quote 1
                                  • B Offline
                                    beelee @SilverBullet
                                    last edited by

                                    @SilverBullet I think @RoiEX did a beginner post somewhere but can't remember where.

                                    S 1 Reply Last reply Reply Quote 1
                                    • S Offline
                                      SilverBullet @beelee
                                      last edited by

                                      @beelee well this guy wants to help, but i dont know what to tell him.

                                      B 1 Reply Last reply Reply Quote 1
                                      • B Offline
                                        beelee @SilverBullet
                                        last edited by

                                        @SilverBullet ahh I think maybe it was @ff03k64 who just got started too. He could try asking him also. Someone will respond

                                        S 1 Reply Last reply Reply Quote 1
                                        • S Offline
                                          SilverBullet @beelee
                                          last edited by

                                          @beelee his nickname is "Nothingtoseehere". he says he is registered.

                                          B 1 Reply Last reply Reply Quote 0
                                          • B Offline
                                            beelee @SilverBullet
                                            last edited by

                                            @SilverBullet I've seen him around. Lol I just made the same post you did on the other thread. hadn't go to it yet πŸ™‚

                                            S 1 Reply Last reply Reply Quote 1

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better πŸ’—

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 4 / 5
                                            • First post
                                              Last post
                                            Copyright Β© 2016-2018 TripleA-Devs | Powered by NodeBB Forums