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

    TripleA development

    Scheduled Pinned Locked Moved Development
    165 Posts 15 Posters 108.2k Views 15 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.
    • M Offline
      MagicStyck @LaFayette
      last edited by MagicStyck

      @lafayette said in TripleA development:

      @MagicStyck

      It has to be easy for a developer to setup an environment quickly and able to debug what is happening. If they have to jump through a thousand hoops to get started, your going to lose them.

      • Have you tried to seek out help about any of these hoops?
      • Which of these hoops have you had to jump through specifically?

      When setting up my dev environment for this project over two years ago, it was a lot of trial and error to get it working. Documentation was old or flat out incorrect. When analysing the code base to work on a change, there are little to no design documents to help answer some of the basic questions. Over those two years some of those documents have started to appear but still large gaps exist. For instance, the legacy documentation lays out a design that the current software begins to deviate from. How much still applies? What does not?

      Infrastructure code, which should be stored in separate repos, is in the root tree of the application causing bloating and confusion of what is import to running the code and what is not. I've worked with a lot those technologies so I know what to ignore as "not needed" when working on the code base. New contributors to the project will not.

      Any change to the code proposed as an issue with how TripleA applies, even if it only affects the supported rulesets, is met with hostility based on "this might affect my game which doesn't use that ruleset", "might break game saves", and "shouldn't be considered because I don't agree with the Larry Harris accepted interpretation of the rule". There wasn't even a PR for the fix yet, just a conversation. https://github.com/triplea-game/triplea/issues/9067

      No credit for work done. I helped out on a PR regarding Docker and NodeBB. I wrote the container and the documentation for it. I got a "thanks" and no credit on the merge. If you check contributors for that work, my name doesn't appear yet here is all my work. What does it take to be considered a dev or a contributor for this code base?

      Original conversation: https://github.com/triplea-game/triplea/pull/7799
      PR of the work: https://github.com/triplea-game/triplea/pull/7906

      No response or direction at times. Conversations just die. I was loading a skin in the current release (2.5) and ran into an issue that has been open for awhile. I decided to help out on fixing it. I did the leg work, got stuck, reached out got a little help. I got a random statement about skin being different in 2.6 than 2.5. I asked if 2.5 is open for patching. Crickets. https://github.com/triplea-game/triplea/issues/8102

      So yes, hoops. Hoops that discourage participation of offering up PRs to fix issues.

      Second, how do we fix review issues?

      I would suggest not holding up PRs based on non-technical issues. For instance, this PR (https://github.com/triplea-game/triplea/pull/9963) was not merged for over 2 months because of a disagreement on adding a comment line which could have really been added later. Was that comment line truly worth holding up a technical fix that was agreed would bring consistency?

      I do recall there was some major problems introduced after several updates, problems which should not have happened. This is very salient because I think around 70% of all PRs introduce at least one bug. It then goes on to the maintainers to find and fix these. Hence, a first time code-submitter gets the worst of all worlds, issues that come up becuase they are not familiar with the project, and extra scrutiny because it's more than likely problems will be introduced and it's a goal that any contributor introduce zero problems. If the contributor agrees to be a maintainer, then the bar is lowered, otherwise each change needs to be well done and 100% correct (this is software, it must all be correct).

      What does it take to agree to be a maintainer? What is the process? What does it entail?

      PantherP C RogerCooperR 3 Replies Last reply Reply Quote 4
      • PantherP Offline
        Panther Admin Moderators @MagicStyck
        last edited by Panther

        @magicstyck said in TripleA development:

        Any change to the code proposed as an issue with how TripleA applies, even if it only affects the supported rulesets, is met with hostility based on "this might affect my game which doesn't use that ruleset", "might break game saves", and "shouldn't be considered because I don't agree with the Larry Harris accepted interpretation of the rule". There wasn't even a PR for the fix yet, just a conversation. https://github.com/triplea-game/triplea/issues/9067

        Welcome to the frustrating world of rules issues likely not going to be fixed at any time.
        https://forums.triplea-game.org/topic/1549/rules-issues-with-the-triplea-engine/

        It is of course totally fine to discuss those issues. And they must be discussed, as their interpretation in some cases is not crystal clear or need 'official' clarifications. Sometimes the rules are poorly or incorrectly implemented in TripleA (for example v2) - but people are so used to the misconceptions that they think it is correct. Sometimes the misconception intentionally is even part of maps, what is fine, too. It is no problem that not-rules-compliant features are part of the game, as long as people are aware of that, and as long as those are optional.

        The problem is that after the discussion of rules issues no one really cares to implement changes.

        Not an accuse to anyone - just stating a fact. Priorities lie on whatever but not on fixing rules issues. That had been different in the past (years ago). But currently it is how it is.

        That you must have in mind when bringing up rules issues.

        Of course all of this and the other things you stated is just the consequence of a simple fact: Those people currently regularly active here on the forum (or discussing for example rules issues at Github) are (apart from a few exceptions) usually people that do not have the ability to work on the engine code or - in case they have - do not have the time or the needed interest in certain special aspects of the game(s) / the engine.

        That is why we are world champions in discussions - but fail to fix or implement a lot.

        Don't always trust TripleA when it comes to rules questions. Know the rules before you start … and better check what TripleA has done.

        frigorefF 1 Reply Last reply Reply Quote 1
        • C Offline
          Cernel Moderators @MagicStyck
          last edited by

          @magicstyck Issues like the https://github.com/triplea-game/triplea/issues/9067 you mentioned are not pointless. They are waiting for someone who knows the rules (like @Panther) to review them.

          Not much else to do when the rules are not clear to everyone the same way.

          Unfortunately, we don't have any developer with a deep understanding of every rules-set, as far as I know.

          C 1 Reply Last reply Reply Quote 0
          • C Offline
            Cernel Moderators @Cernel
            last edited by

            @cernel And if one would have gone ahead making the proposed changes without checking the rules very carefully, I would say chances are doing more bad than good.

            On top of that, you must also consider supporting custom games. TripleA is not all about un-original work.

            1 Reply Last reply Reply Quote 0
            • frigorefF Offline
              frigoref @Panther
              last edited by

              @panther said in TripleA development:

              Of course all

              Can I assume that the list in https://forums.triplea-game.org/topic/1549/rules-issues-with-the-triplea-engine is maintained well and they are meant to have all the same label "Impact: Bad Game Rules" on github?
              If so, can you help to prioritize them?

              I absolutely understand the frustration that is going around. However, I would hope that you all are still willing to assist in
              (1) structuring the issues we have
              (2) organize ourselves, so responsibilities and current status,
              so we can get a clear overview and try to tackle the issues according to their priority.
              My hope would be that we get to a point where we can onboard new developers (responsibility with the dev team) and hand them a sorted (!) list of issues (responsibilities lies with moderators assisted by the end users) from which they can choose and provide fixes.

              PantherP 1 Reply Last reply Reply Quote 1
              • RogerCooperR Offline
                RogerCooper @MagicStyck
                last edited by

                @magicstyck Why is there such a big deal about changes breaking saved games? If you start game, keep using the same version until you are done.

                Breaking existing XML is more of an issue, but we have done it before, and I personally fixed many mods with a simple batch file.

                So please, feel free to go ahead with refactoring code and don't worry about covering every obscure A&A rules case.

                What does need to be done to discuss major changes before they are made. 2.6 did major changes like deprecating mapName and Notes with little discussion.

                1 Reply Last reply Reply Quote 3
                • PantherP Offline
                  Panther Admin Moderators @frigoref
                  last edited by

                  @frigoref said in TripleA development:

                  Can I assume that the list in https://forums.triplea-game.org/topic/1549/rules-issues-with-the-triplea-engine is maintained well and they are meant to have all the same label "Impact: Bad Game Rules" on github?
                  If so, can you help to prioritize them?

                  In general you can assume that. What I don't know is - as PR do not always refer to issues - whether working on other details maybe had any impact on them. What I will do is check the labels again - and of course I will help to proritize them. There are serious issues and minor issues, that's for sure.

                  Don't always trust TripleA when it comes to rules questions. Know the rules before you start … and better check what TripleA has done.

                  1 Reply Last reply Reply Quote 1
                  • PantherP Offline
                    Panther Admin Moderators
                    last edited by

                    IMHO we should not push forward 2.6 as long as major issues such as the MARTI-issue and the broken-PBF-nodeBB-issue are not fixed.

                    Don't always trust TripleA when it comes to rules questions. Know the rules before you start … and better check what TripleA has done.

                    frigorefF 1 Reply Last reply Reply Quote 2
                    • frigorefF Offline
                      frigoref @Panther
                      last edited by

                      @panther can you please also label the issues you consider 2.6 blocking issues?
                      Do you need help for this?

                      Is there anyone interested in assisting panter?

                      ubernautU M PantherP 3 Replies Last reply Reply Quote 1
                      • ubernautU Offline
                        ubernaut Moderators @frigoref
                        last edited by

                        @frigoref @panther idk jack about coding but if there's anything i can do to help i'm glad to :)*

                        "You should never have told me horses sleep standing up, it gave me a mental block." - Mister Ed

                        1 Reply Last reply Reply Quote 1
                        • M Offline
                          MagicStyck @frigoref
                          last edited by

                          @frigoref @Panther

                          I've been looking at the FeignException 404 on map listing. I know what is happening and why. I'm working on a test and coding a fix for it. I should have a PR in by the end of the weekend. I can help work on any other blockers after that.

                          All related issues:
                          https://github.com/triplea-game/triplea/issues/10023
                          https://github.com/triplea-game/triplea/issues/10053
                          https://github.com/triplea-game/triplea/issues/10079

                          frigorefF RogerCooperR M 3 Replies Last reply Reply Quote 2
                          • frigorefF Offline
                            frigoref @MagicStyck
                            last edited by

                            @magicstyck sounds great! Many thanks for taking this one up! 🙂

                            1 Reply Last reply Reply Quote 0
                            • RogerCooperR Offline
                              RogerCooper @MagicStyck
                              last edited by

                              @magicstyck Let me know if you can get to the point that mods can be downloaded using 2.6. For now, I am doing my updates to the map repository using 2.5.

                              1 Reply Last reply Reply Quote 1
                              • M Offline
                                MagicStyck @MagicStyck
                                last edited by MagicStyck

                                @frigoref @Panther @RogerCooper @LaFayette

                                @magicstyck said in TripleA development:

                                I've been looking at the FeignException 404 on map listing. I know what is happening and why. I'm working on a test and coding a fix for it. I should have a PR in by the end of the weekend. I can help work on any other blockers after that.

                                When I posted this afternoon, I thought the issue was a broken endpoint in the spitfire-server, the code that runs the lobby. I have since confirmed locally, that is not the case. When I spin up the 2.6 lobby, I'm able to run a GET request on the /maps/listing endpoint without issue.

                                curl -i -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer oijsad80lksjdflsdflk" -H "System-Id-Header: 1234567890" -H "Triplea-Version: 2.6" -v http://127.0.0.1:8080/maps/listing
                                *   Trying 127.0.0.1...
                                * TCP_NODELAY set
                                * Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
                                > GET /maps/listing HTTP/1.1
                                > Host: 127.0.0.1:8080
                                > User-Agent: curl/7.64.1
                                > Accept: application/json
                                > Content-Type: application/json
                                > Authorization: Bearer oijsad80lksjdflsdflk
                                > System-Id-Header: 1234567890
                                > Triplea-Version: 2.6
                                >
                                < HTTP/1.1 200 OK
                                HTTP/1.1 200 OK
                                < Date: Thu, 17 Feb 2022 05:39:42 GMT
                                Date: Thu, 17 Feb 2022 05:39:42 GMT
                                < Content-Type: application/json
                                Content-Type: application/json
                                < Vary: Accept-Encoding
                                Vary: Accept-Encoding
                                < Content-Length: 214
                                Content-Length: 214
                                
                                <
                                * Connection #0 to host 127.0.0.1 left intact
                                [{"downloadUrl":"http://download-url","previewImageUrl":"http://preview-image","mapName":"test-map","lastCommitDateEpochMilli":1644988237583,"description":"map description","mapTags":[],"downloadSizeInBytes":1024}]* Closing connection 0
                                

                                I logged into the postgres database locally and deleted the record in the map_index table of the lobby_db (where data returned above comes from). This confirmed that if the table is empty, the /maps/listing endpoint does not return a 404. It returns a 200 and an empty JSON array.

                                curl -i -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer oijsad80lksjdflsdflk" -H "System-Id-Header: 1234567890" -H "Triplea-Version: 2.6" -v http://127.0.0.1:8080/maps/listing
                                *   Trying 127.0.0.1...
                                * TCP_NODELAY set
                                * Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
                                > GET /maps/listing HTTP/1.1
                                > Host: 127.0.0.1:8080
                                > User-Agent: curl/7.64.1
                                > Accept: application/json
                                > Content-Type: application/json
                                > Authorization: Bearer oijsad80lksjdflsdflk
                                > System-Id-Header: 1234567890
                                > Triplea-Version: 2.6
                                >
                                < HTTP/1.1 200 OK
                                HTTP/1.1 200 OK
                                < Date: Thu, 17 Feb 2022 05:45:03 GMT
                                Date: Thu, 17 Feb 2022 05:45:03 GMT
                                < Content-Type: application/json
                                Content-Type: application/json
                                < Vary: Accept-Encoding
                                Vary: Accept-Encoding
                                < Content-Length: 2
                                Content-Length: 2
                                
                                <
                                * Connection #0 to host 127.0.0.1 left intact
                                []* Closing connection 0
                                

                                According to closed PR that introduced the change (https://github.com/triplea-game/triplea/pull/9940), if I pass the Triplea-Version header then nginx should proxy me to the correct lobby. If the new nginx config is deployed, then it should read that header key and send me to the 2.6 lobby. If it isn't, then it will send me to the 2.5 lobby on every request. I sent the key with a value of 2.6 and was returned a 404.

                                curl -i -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer oijsad80lksjdflsdflk" -H "System-Id-Header: 1234567890" -H "Triplea-Version: 2.6" -v https://prod2-lobby.triplea-game.org/maps/listing
                                *   Trying 173.255.225.250...
                                * TCP_NODELAY set
                                * Connected to prod2-lobby.triplea-game.org (173.255.225.250) port 443 (#0)
                                * ALPN, offering h2
                                * ALPN, offering http/1.1
                                * successfully set certificate verify locations:
                                *   CAfile: /etc/ssl/cert.pem
                                  CApath: none
                                * TLSv1.2 (OUT), TLS handshake, Client hello (1):
                                * TLSv1.2 (IN), TLS handshake, Server hello (2):
                                * TLSv1.2 (IN), TLS handshake, Certificate (11):
                                * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
                                * TLSv1.2 (IN), TLS handshake, Server finished (14):
                                * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
                                * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
                                * TLSv1.2 (OUT), TLS handshake, Finished (20):
                                * TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
                                * TLSv1.2 (IN), TLS handshake, Finished (20):
                                * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
                                * ALPN, server accepted to use h2
                                * Server certificate:
                                *  subject: CN=prod2-lobby.triplea-game.org
                                *  start date: Jan 30 23:55:24 2022 GMT
                                *  expire date: Apr 30 23:55:23 2022 GMT
                                *  subjectAltName: host "prod2-lobby.triplea-game.org" matched cert's "prod2-lobby.triplea-game.org"
                                *  issuer: C=US; O=Let's Encrypt; CN=R3
                                *  SSL certificate verify ok.
                                * Using HTTP2, server supports multi-use
                                * Connection state changed (HTTP/2 confirmed)
                                * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
                                * Using Stream ID: 1 (easy handle 0x7ff154810000)
                                > GET /maps/listing HTTP/2
                                > Host: prod2-lobby.triplea-game.org
                                > User-Agent: curl/7.64.1
                                > Accept: application/json
                                > Content-Type: application/json
                                > Authorization: Bearer oijsad80lksjdflsdflk
                                > System-Id-Header: 1234567890
                                > Triplea-Version: 2.6
                                >
                                * Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
                                < HTTP/2 404
                                HTTP/2 404
                                < server: nginx/1.18.0 (Ubuntu)
                                server: nginx/1.18.0 (Ubuntu)
                                < date: Thu, 17 Feb 2022 06:27:01 GMT
                                date: Thu, 17 Feb 2022 06:27:01 GMT
                                < content-type: application/json
                                content-type: application/json
                                < content-length: 43
                                content-length: 43
                                
                                <
                                * Connection #0 to host prod2-lobby.triplea-game.org left intact
                                {"code":404,"message":"HTTP 404 Not Found"}* Closing connection 0
                                

                                So the issue is not a code problem but a deployment one. One of two things is incorrect in the production environment:

                                A: The nginx web server does not have the latest config deployed to it to properly proxy requests to the correct lobby.

                                B: The 2.6 lobby as a whole, has not been deployed or is setup but running a 2.5 lobby.

                                Until the 2.6 lobby is deployed and the nginx web servers config is updated, all 2.6 client requests for maps are going to return 404.

                                This card I found on the Project schedule (https://github.com/triplea-game/triplea/projects/25#card-75012745) suggests that the 2.6 lobby has not been deployed but can be at any time. If this gets deployed, we can close 6 or more issues and be closer to releasing 2.6.

                                B PantherP 2 Replies Last reply Reply Quote 1
                                • B Offline
                                  beelee @MagicStyck
                                  last edited by

                                  @magicstyck Nice work
                                  yea I'm not aware of a 2.6 lobby yet. @RoiEX do you know if one is up

                                  1 Reply Last reply Reply Quote 0
                                  • PantherP Offline
                                    Panther Admin Moderators @MagicStyck
                                    last edited by Panther

                                    @magicstyck @RogerCooper

                                    Before you invest too much time, please test the download maps - issue using the current prerelease.
                                    I was just able to download maps using 2.6.571.

                                    I don't know what might have fixed the issue - nobody told us. So I was surprised when it just worked.

                                    Don't always trust TripleA when it comes to rules questions. Know the rules before you start … and better check what TripleA has done.

                                    frigorefF M 2 Replies Last reply Reply Quote 2
                                    • frigorefF Offline
                                      frigoref @ubernaut
                                      last edited by

                                      @ubernaut
                                      Feel free to change it. It is not my list, but ours and everyone is welcomed to keep it updated.

                                      1 Reply Last reply Reply Quote 0
                                      • frigorefF Offline
                                        frigoref @Panther
                                        last edited by frigoref

                                        @LaFayette Can you explain to the group what the download maps issue is and why it was fixed with 2.6.571 according to @panther?

                                        (see also the analysis made by @MagicStyck below)

                                        PantherP 1 Reply Last reply Reply Quote 0
                                        • PantherP Offline
                                          Panther Admin Moderators @frigoref
                                          last edited by

                                          @frigoref
                                          Reference: https://forums.triplea-game.org/topic/3109/unable-to-download-maps-in-2-6-535

                                          Don't always trust TripleA when it comes to rules questions. Know the rules before you start … and better check what TripleA has done.

                                          frigorefF 1 Reply Last reply Reply Quote 1
                                          • PantherP Offline
                                            Panther Admin Moderators @frigoref
                                            last edited by

                                            @frigoref said in TripleA development:

                                            @panther can you please also label the issues you consider 2.6 blocking issues?
                                            Do you need help for this?

                                            Is there anyone interested in assisting panter?

                                            Yes, I'll do. At least those I am able to identify, such as those named above.

                                            Don't always trust TripleA when it comes to rules questions. Know the rules before you start … and better check what TripleA has done.

                                            1 Reply Last reply Reply Quote 3

                                            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
                                            • 6
                                            • 7
                                            • 8
                                            • 9
                                            • 4 / 9
                                            • First post
                                              Last post
                                            Copyright © 2016-2018 TripleA-Devs | Powered by NodeBB Forums