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

    post turn summary

    Scheduled Pinned Locked Moved Player Help
    24 Posts 3 Posters 5.1k Views 3 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.
    • LaFayetteL Offline
      LaFayette Admin
      last edited by

      When you get that "nullpointerexception", click 'report to triplea' if you would, it'll send us the error details and create an issue. If you could mention this forum post in the error report, that would help link it up.

      1 Reply Last reply Reply Quote 0
      • N Offline
        Numetalfan
        last edited by

        thx beelee

        B 1 Reply Last reply Reply Quote 1
        • B Online
          beelee @Numetalfan
          last edited by

          @Numetalfan

          yea you should comment on the git issue in detail of what the problem is. It is easier for the people fixing things if the info is consolidated as much as possible.

          If they have to jump around for it, there's a chance it takes a lower priority.

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

            The error message details sent to us when you click "report to TripleA" is a lot of what we would be after. We'd really want that information to be included (if you can just trigger the problem again and click 'report to triplea', then you'll get a new bug report link, click that and add a quick comment telling us it's related to this forum, that would all be sweet!).

            1 Reply Last reply Reply Quote 1
            • N Offline
              Numetalfan
              last edited by

              Hi,

              thats the error with 2.5 with the newest xml:

              Dez. 08, 2020 10:45:07 VORM. org.triplea.game.client.HeadedGameRunner lambda$initializeClientSettingAndLogging$0
              SCHWERWIEGEND: null
              java.lang.NullPointerException
              at java.base/java.util.Objects.requireNonNull(Unknown Source)
              at java.base/java.util.ImmutableCollections$Set12.<init>(Unknown Source)
              at java.base/java.util.Set.of(Unknown Source)
              at games.strategy.triplea.delegate.TechActivationDelegate.start(TechActivationDelegate.java:64)
              at games.strategy.engine.framework.ServerGame.startStep(ServerGame.java:519)
              at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:398)
              at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:297)
              at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInternal(LocalLauncher.java:82)
              at games.strategy.engine.framework.startup.launcher.LocalLauncher.lambda$launch$0(LocalLauncher.java:56)
              at java.base/java.lang.Thread.run(Unknown Source)

              the crashing of the game ist still the same, it occurs after Italys move.

              1 Reply Last reply Reply Quote 0
              • N Offline
                Numetalfan
                last edited by

                these are the properties

                SYSTEM PROPERTIES
                awt.toolkit=sun.awt.windows.WToolkit
                exe4j.consoleCodepage=cp0
                exe4j.isInstall4j=true
                exe4j.launchName=C:\Program Files\TripleA2.5\TripleA.exe
                exe4j.moduleName=C:\Program Files\TripleA2.5\TripleA.exe
                exe4j.semaphoreName=Local\c:_program_files_triplea2.5_triplea.exe0
                exe4j.tempDir=
                exe4j.unextractedPosition=0
                file.encoding=Cp1252
                file.separator=
                install4j.appDir=C:\Program Files\TripleA2.5
                install4j.exeDir=C:\Program Files\TripleA2.5
                install4j.launcherId=33
                install4j.swt=false
                java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
                java.awt.printerjob=sun.awt.windows.WPrinterJob
                java.class.path=C:\Program Files\TripleA2.5.install4j\i4jruntime.jar;C:\Program Files\TripleA2.5.\bin\triplea-game-headed-2.5.22294.jar
                java.class.version=55.0
                java.home=c:\program files\triplea2.5\jre
                java.io.tmpdir=C:\Users\Meissner\AppData\Local\Temp
                java.library.path=c:\program files\triplea2.5\jre\bin;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Program Files\Intel\iCLS Client;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\Program Files\ThinkPad\Bluetooth Software;C:\Program Files\Sennheiser\SoftphoneSDK;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\Program Files\Sophos\Sophos SSL VPN Client\bin
                java.runtime.name=OpenJDK Runtime Environment
                java.runtime.version=11.0.4+11
                java.specification.name=Java Platform API Specification
                java.specification.vendor=Oracle Corporation
                java.specification.version=11
                java.vendor=AdoptOpenJDK
                java.vendor.url=https://adoptopenjdk.net/
                java.vendor.url.bug=https://github.com/AdoptOpenJDK/openjdk-build/issues
                java.vendor.version=AdoptOpenJDK
                java.version=11.0.4
                java.version.date=2019-07-16
                java.vm.info=mixed mode
                java.vm.name=OpenJDK Client VM
                java.vm.specification.name=Java Virtual Machine Specification
                java.vm.specification.vendor=Oracle Corporation
                java.vm.specification.version=11
                java.vm.vendor=AdoptOpenJDK
                java.vm.version=11.0.4+11
                jdk.debug=release
                line.separator=

                os.arch=x86
                os.name=Windows 7
                os.version=6.1
                path.separator=;
                sun.arch.data.model=32
                sun.awt.enableExtraMouseButtons=true
                sun.boot.library.path=c:\program files\triplea2.5\jre\bin
                sun.cpu.endian=little
                sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
                sun.desktop=windows
                sun.io.unicode.encoding=UnicodeLittle
                sun.java.command=C:\Program Files\TripleA2.5\TripleA.exe
                sun.java2d.dpiaware=true
                sun.jnu.encoding=Cp1252
                sun.management.compiler=HotSpot Client Compiler
                sun.os.patch.level=Service Pack 1
                user.country=DE
                user.dir=C:\Program Files\TripleA2.5
                user.home=C:\Users\Meissner
                user.language=de
                user.name=Meissner
                user.script=
                user.timezone=Europe/Berlin
                user.variant=

                1 Reply Last reply Reply Quote 0
                • N Offline
                  Numetalfan
                  last edited by

                  enumerate threads

                  THREAD DUMP
                  thread<1,main>
                  state:RUNNABLE

                  thread<2,Reference Handler>
                  state:RUNNABLE
                  java.base@11.0.4/java.lang.ref.Reference.waitForReferencePendingList(Native Method)
                  java.base@11.0.4/java.lang.ref.Reference.processPendingReferences(Unknown Source)
                  java.base@11.0.4/java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

                  thread<3,Finalizer>
                  state:WAITING
                  locked on:java.lang.ref.ReferenceQueue$Lock@1e7d132 locked owned by:<-1,null>
                  java.base@11.0.4/java.lang.Object.wait(Native Method)
                  java.base@11.0.4/java.lang.ref.ReferenceQueue.remove(Unknown Source)
                  java.base@11.0.4/java.lang.ref.ReferenceQueue.remove(Unknown Source)
                  java.base@11.0.4/java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

                  thread<4,Signal Dispatcher>
                  state:RUNNABLE

                  thread<5,Attach Listener>
                  state:RUNNABLE

                  thread<9,Common-Cleaner>
                  state:TIMED_WAITING
                  locked on:java.lang.ref.ReferenceQueue$Lock@22a87a locked owned by:<-1,null>
                  java.base@11.0.4/java.lang.Object.wait(Native Method)
                  java.base@11.0.4/java.lang.ref.ReferenceQueue.remove(Unknown Source)
                  java.base@11.0.4/jdk.internal.ref.CleanerImpl.run(Unknown Source)
                  java.base@11.0.4/java.lang.Thread.run(Unknown Source)
                  java.base@11.0.4/jdk.internal.misc.InnocuousThread.run(Unknown Source)

                  thread<10,Java2D Disposer>
                  state:WAITING
                  locked on:java.lang.ref.ReferenceQueue$Lock@cf2c17 locked owned by:<-1,null>
                  java.base@11.0.4/java.lang.Object.wait(Native Method)
                  java.base@11.0.4/java.lang.ref.ReferenceQueue.remove(Unknown Source)
                  java.base@11.0.4/java.lang.ref.ReferenceQueue.remove(Unknown Source)
                  java.desktop@11.0.4/sun.java2d.Disposer.run(Unknown Source)
                  java.base@11.0.4/java.lang.Thread.run(Unknown Source)

                  thread<11,AWT-Shutdown>
                  state:WAITING
                  locked on:java.lang.Object@1fc6ed1 locked owned by:<-1,null>
                  java.base@11.0.4/java.lang.Object.wait(Native Method)
                  java.base@11.0.4/java.lang.Object.wait(Unknown Source)
                  java.desktop@11.0.4/sun.awt.AWTAutoShutdown.run(Unknown Source)
                  java.base@11.0.4/java.lang.Thread.run(Unknown Source)

                  thread<12,AWT-Windows>
                  state:RUNNABLE
                  java.desktop@11.0.4/sun.awt.windows.WToolkit.eventLoop(Native Method)
                  java.desktop@11.0.4/sun.awt.windows.WToolkit.run(Unknown Source)
                  java.base@11.0.4/java.lang.Thread.run(Unknown Source)

                  thread<15,AWT-EventQueue-0>
                  state:RUNNABLE
                  java.management@11.0.4/sun.management.ThreadImpl.getThreadInfo1(Native Method)
                  java.management@11.0.4/sun.management.ThreadImpl.getThreadInfo(Unknown Source)
                  app//org.triplea.debug.console.window.DebugUtils.getThreadDumps(DebugUtils.java:29)
                  app//org.triplea.debug.console.window.ConsoleModel.enumerateThreadsAction(ConsoleModel.java:71)
                  app//org.triplea.debug.console.window.ConsoleWindow.lambda$createButtonsToolBar$0(ConsoleWindow.java:44)
                  app//org.triplea.debug.console.window.ConsoleWindow$$Lambda$339/0x07a5f828.run(Unknown Source)
                  app//org.triplea.swing.SwingAction.lambda$of$0(SwingAction.java:69)
                  app//org.triplea.swing.SwingAction$$Lambda$340/0x07a5f028.actionPerformed(Unknown Source)
                  app//org.triplea.swing.SwingAction$1.actionPerformed(SwingAction.java:60)
                  java.desktop@11.0.4/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
                  java.desktop@11.0.4/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
                  java.desktop@11.0.4/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
                  java.desktop@11.0.4/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
                  java.desktop@11.0.4/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
                  app//org.pushingpixels.substance.internal.utils.RolloverButtonListener.mouseReleased(RolloverButtonListener.java:108)
                  java.desktop@11.0.4/java.awt.Component.processMouseEvent(Unknown Source)
                  java.desktop@11.0.4/javax.swing.JComponent.processMouseEvent(Unknown Source)
                  java.desktop@11.0.4/java.awt.Component.processEvent(Unknown Source)
                  java.desktop@11.0.4/java.awt.Container.processEvent(Unknown Source)
                  java.desktop@11.0.4/java.awt.Component.dispatchEventImpl(Unknown Source)
                  java.desktop@11.0.4/java.awt.Container.dispatchEventImpl(Unknown Source)
                  java.desktop@11.0.4/java.awt.Component.dispatchEvent(Unknown Source)
                  java.desktop@11.0.4/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
                  java.desktop@11.0.4/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
                  java.desktop@11.0.4/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
                  java.desktop@11.0.4/java.awt.Container.dispatchEventImpl(Unknown Source)
                  java.desktop@11.0.4/java.awt.Window.dispatchEventImpl(Unknown Source)
                  java.desktop@11.0.4/java.awt.Component.dispatchEvent(Unknown Source)
                  java.desktop@11.0.4/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
                  java.desktop@11.0.4/java.awt.EventQueue$4.run(Unknown Source)
                  java.desktop@11.0.4/java.awt.EventQueue$4.run(Unknown Source)
                  java.base@11.0.4/java.security.AccessController.doPrivileged(Native Method)
                  java.base@11.0.4/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
                  java.base@11.0.4/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
                  java.desktop@11.0.4/java.awt.EventQueue$5.run(Unknown Source)
                  java.desktop@11.0.4/java.awt.EventQueue$5.run(Unknown Source)
                  java.base@11.0.4/java.security.AccessController.doPrivileged(Native Method)
                  java.base@11.0.4/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
                  java.desktop@11.0.4/java.awt.EventQueue.dispatchEvent(Unknown Source)
                  java.desktop@11.0.4/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
                  java.desktop@11.0.4/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
                  java.desktop@11.0.4/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
                  java.desktop@11.0.4/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
                  java.desktop@11.0.4/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
                  java.desktop@11.0.4/java.awt.EventDispatchThread.run(Unknown Source)

                  thread<20,Trident callback thread>
                  state:WAITING
                  locked on:java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@15791e1 locked owned by:<-1,null>
                  java.base@11.0.4/jdk.internal.misc.Unsafe.park(Native Method)
                  java.base@11.0.4/java.util.concurrent.locks.LockSupport.park(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
                  app//org.pushingpixels.trident.TimelineEngine$TimelineCallbackThread.run(TimelineEngine.java:196)

                  thread<21,Trident pulse source thread>
                  state:TIMED_WAITING
                  java.base@11.0.4/java.lang.Thread.sleep(Native Method)
                  app//org.pushingpixels.trident.TridentConfig$FixedRatePulseSource.waitUntilNextPulse(TridentConfig.java:67)
                  app//org.pushingpixels.trident.TimelineEngine$TridentAnimationThread.run(TimelineEngine.java:172)

                  thread<27,TimerQueue>
                  state:WAITING
                  locked on:java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@7d8f09 locked owned by:<-1,null>
                  java.base@11.0.4/jdk.internal.misc.Unsafe.park(Native Method)
                  java.base@11.0.4/java.util.concurrent.locks.LockSupport.park(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.DelayQueue.take(Unknown Source)
                  java.desktop@11.0.4/javax.swing.TimerQueue.run(Unknown Source)
                  java.base@11.0.4/java.lang.Thread.run(Unknown Source)

                  thread<28,SwingWorker-pool-1-thread-1>
                  state:WAITING
                  locked on:java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@11dba05 locked owned by:<-1,null>
                  java.base@11.0.4/jdk.internal.misc.Unsafe.park(Native Method)
                  java.base@11.0.4/java.util.concurrent.locks.LockSupport.park(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
                  java.base@11.0.4/java.lang.Thread.run(Unknown Source)

                  thread<30,SwingWorker-pool-1-thread-2>
                  state:WAITING
                  locked on:java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@11dba05 locked owned by:<-1,null>
                  java.base@11.0.4/jdk.internal.misc.Unsafe.park(Native Method)
                  java.base@11.0.4/java.util.concurrent.locks.LockSupport.park(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
                  java.base@11.0.4/java.lang.Thread.run(Unknown Source)

                  thread<38,Java Sound Event Dispatcher>
                  state:WAITING
                  locked on:com.sun.media.sound.EventDispatcher@145c151 locked owned by:<-1,null>
                  java.base@11.0.4/java.lang.Object.wait(Native Method)
                  java.base@11.0.4/java.lang.Object.wait(Unknown Source)
                  java.desktop@11.0.4/com.sun.media.sound.EventDispatcher.dispatchEvents(Unknown Source)
                  java.desktop@11.0.4/com.sun.media.sound.EventDispatcher.run(Unknown Source)
                  java.base@11.0.4/java.lang.Thread.run(Unknown Source)

                  thread<55,pool-3-thread-1>
                  state:WAITING
                  locked on:java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1e8d01 locked owned by:<-1,null>
                  java.base@11.0.4/jdk.internal.misc.Unsafe.park(Native Method)
                  java.base@11.0.4/java.util.concurrent.locks.LockSupport.park(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
                  java.base@11.0.4/java.lang.Thread.run(Unknown Source)

                  thread<56,ForkJoinPool.commonPool-worker-1>
                  state:WAITING
                  locked on:java.util.concurrent.ForkJoinPool@83528c locked owned by:<-1,null>
                  java.base@11.0.4/jdk.internal.misc.Unsafe.park(Native Method)
                  java.base@11.0.4/java.util.concurrent.locks.LockSupport.park(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
                  java.base@11.0.4/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

                  1 Reply Last reply Reply Quote 0
                  • N Offline
                    Numetalfan
                    last edited by

                    memory

                    Heap utilization statistics [MB]
                    Used Memory: 55
                    Free memory: 933
                    Total memory: 989
                    Max memory: 989

                    1 Reply Last reply Reply Quote 0
                    • N Offline
                      Numetalfan
                      last edited by

                      as the error alway happens, when Italy finishes its move,
                      I copied the sequence of the xml

                      <step name="italianEndTurn" delegate="endTurn" player="Italians"/>
                        <!-- Americans_west Game Sequence -->
                        <step name="american_westTech" delegate="tech" player="Americans_west"/>
                        <step name="american_westTechActivation" delegate="tech_activation" player="Americans_west "/>
                        <step name="american_westPurchase" delegate="purchase" player="Americans_west"/>
                        <step name="american_westCombatMove" delegate="move" player="Americans_west"/>
                        <step name="american_westBattle" delegate="battle" player="Americans_west"/>
                        <step name="american_westNonCombatMove" delegate="move" player="Americans_west" display="Non Combat Move"/>
                        <step name="american_westPlace" delegate="place" player="Americans_west"/>
                        <step name="american_westEndTurn" delegate="endTurn" player="Americans_west"/>
                        <!-- Chinese/USA Game Sequence -->
                        <step name="americanTech" delegate="tech" player="USA"/>
                        <step name="americanTechActivation" delegate="tech_activation" player="USA"/>
                        <step name="americanPurchase" delegate="purchase" player="USA"/>
                        <step name="chinesePurchase" delegate="purchaseNoPU" player="Chinese"/>
                        <step name="americanCombatMove" delegate="move" player="USA"/>
                        <step name="americanBattle" delegate="battle" player="USA"/>
                        <step name="americanNonCombatMove" delegate="move" player="USA" display="Non Combat Move"/>
                        <step name="chineseCombatMove" delegate="move" player="Chinese"/>
                        <step name="chineseBattle" delegate="battle" player="Chinese"/>
                        <step name="chineseNonCombatMove" delegate="move" player="Chinese" display="Non Combat Move"/>
                        <step name="americanPlace" delegate="place" player="USA"/>
                        <step name="chinesePlace" delegate="place" player="Chinese"/>
                        <step name="chineseEndTurn" delegate="endTurnNoPU" player="Chinese">
                          <stepProperty name="skipPosting" value="true"/>
                        </step>
                        <step name="USAEndTurn" delegate="endTurn" player="USA">
                          <stepProperty name="turnSummaryPlayers" value="USA:Chinese"/>
                        </step
                      

                      maybe its visible what causes the error

                      B 1 Reply Last reply Reply Quote 0
                      • B Online
                        beelee @Numetalfan
                        last edited by

                        @Numetalfan Right on. Replying from other thread. Yea got it to fire up but got that error. Fixed the spacing error Trevan found and it works fine. Only thing now is all the TTys are white. I don't remember why that is. I'm not good with the graphics stuff.

                        Screenshot from 2020-12-08 13-47-08.png

                        1 Reply Last reply Reply Quote 0
                        • N Offline
                          Numetalfan
                          last edited by

                          Hi,

                          yes the error is gone, it was really a single space after the nations name in the tech coding, a single space - oh lord.

                          the graphics have to be activated in the game, by clicking
                          on VIEW, then disable "show map details"

                          TOPIC CLOSED

                          1 Reply Last reply Reply Quote 0
                          • N Offline
                            Numetalfan
                            last edited by

                            thx to all for the support

                            1 Reply Last reply Reply Quote 0

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