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.4k 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.
    • prastleP Offline
      prastle Lobby Moderators Admin @redrum
      last edited by prastle

      @redrum Sexcellent Job! To quote some one we know. Ty for fine tuning!

      If we open a quarrel between past and present, we shall find that we have lost the future! Sir Winston Churchill

      1 Reply Last reply Reply Quote 1
      • prastleP Offline
        prastle Lobby Moderators Admin @beelee
        last edited by

        @beelee you are where i was a few years ago. I HAVE FAITH YOU WILL APPLY πŸ™‚

        If we open a quarrel between past and present, we shall find that we have lost the future! Sir Winston Churchill

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

          @prastle heh heh I'd need set hours . A schedule. I wouldn't be very good at being "on call" πŸ™‚
          I just wouldn't be very good at all lol πŸ™‚

          Fortunately, I have a few years πŸ™‚

          prastleP 1 Reply Last reply Reply Quote 1
          • prastleP Offline
            prastle Lobby Moderators Admin @beelee
            last edited by

            @beelee sounds kinda "Dr Zeuss" like πŸ™‚

            If we open a quarrel between past and present, we shall find that we have lost the future! Sir Winston Churchill

            1 Reply Last reply Reply Quote 3
            • G Offline
              Giglfoosm
              last edited by

              Hi guys,

              I've been a long time lurker, I play fairly casually mostly offline. I'm a .NET dev by trade (4 years-ish) trying to branch out and get some experience in other languages. I wasn't sure which of the devs mentioned in the above post I should PM about my interest in contributing so I'm just making a general reply here. Any help on where to get started would be appreciated, thanks!

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

                @Giglfoosm Hey. Most of the code base is in java and the main repo is located here: https://github.com/triplea-game/triplea

                You should be able to just clone the repo and then set up your IDE: https://github.com/triplea-game/triplea/tree/master/docs/dev

                We are always looking for contributions and glad to answer any questions.

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

                G 1 Reply Last reply Reply Quote 5
                • 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

                                            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
                                            • 2 / 5
                                            • First post
                                              Last post
                                            Copyright Β© 2016-2018 TripleA-Devs | Powered by NodeBB Forums