[Linux Lobby] AFLobby Beta 3.9.7 - Page 15

[Linux Lobby] AFLobby Beta 3.9.7

Discuss everything related to running Spring on your chosen distribution of Linux.

Moderator: Moderators

User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

oops, I made a mistake with a variable being an Integer and not being initialized, thus making a null pointer excption parsing battle data. I'll just fix that now....
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

alpha23a

- Fixed the Integer null pointer bug
- Changed the default team colour from white to blue
- Changed a few other variables in anticipation of the above bug reocurring
- The start button in the battle window is now disabled if you're not the host
- Some more fixes for bad fonts in the battle window
- The mapname is now bold in the battle window
User avatar
Relative
Posts: 1371
Joined: 15 Oct 2006, 13:17

Post by Relative »

Joining battle lobby works again, but channels are still borked (lockup). Player and Battle list still don't load unless I logout and then login again in the same session. Doing this also causes unitsync error window to come up:

Error window:
Unsatisfied link error Make sure you have a JNI aware UnitSync library in the same folder as AFLobby, and that it is compiled correctly using the latest java bindings. AFlobby needs the unitsync library to be able to use spring. Linux users need libjavaunitsync.so Windows users need javaunitsync.dll Apple Mac users need libjavaunitsync.dylib (Mac is not entirely supported and upto date mac builds of unitsync arent included due to time restrictions) path variable = /usr/share/games/spring library path = .
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

alpha23b

- Added an attempt at fixing the logging out and logging in unitsync error. I cant reproduce this error though so I aint sure if I fixed it or not.
- Fixed channels locking up due to battle list being empty
- Fixed battle list being empty.

pfft anticipating bugs can cause them too wtf.
User avatar
kujeger
Posts: 91
Joined: 07 Oct 2004, 14:46

Post by kujeger »

AF wrote:alpha23b

- Added an attempt at fixing the logging out and logging in unitsync error. I cant reproduce this error though so I aint sure if I fixed it or not.
- Fixed channels locking up due to battle list being empty
- Fixed battle list being empty.

pfft anticipating bugs can cause them too wtf.
MISSION ACCOMPLISHED
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

its all working good?! (holepunching not included)

Whats left for beta 1 is setting up starting positions, holepunching, AIs, and lobby moderation commands like !kick
User avatar
Slamoid
Posts: 237
Joined: 25 Jan 2005, 19:23

Post by Slamoid »

Don't forget a single-player offline option :-)
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

yah, my aim atm though is to replicate tasclients featurelist. Once thats done AFLobbys other features will make it a far better client. One step closer to the "Betalord:Go implement the battle protocol in full, then we can talk about the protocol AF: okies".
User avatar
Relative
Posts: 1371
Joined: 15 Oct 2006, 13:17

Post by Relative »

I had some errors from while was testing out spring through the lobby.

Code: Select all

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
        at java.util.ArrayList.get(ArrayList.java:324)
        at aflobby.JBattleTableModel.GetBattleAt(JBattleTableModel.java:150)
        at aflobby.JChannelView.jButton8MouseReleased(JChannelView.java:1038)
        at aflobby.JChannelView.access$1900(JChannelView.java:37)
        at aflobby.JChannelView$20.mouseReleased(JChannelView.java:744)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273)
        at java.awt.Component.processMouseEvent(Component.java:6038)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
        at java.awt.Component.processEvent(Component.java:5803)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

I have found a method of making relatives lockup happen regularly for me.

The issue isnt quite any particular piece of code I have and attempts to debug keep pointing all over the place as to where the lockup cocurs.

However the issue is with the tab control in the main view. In time I need to rid myself of that control or find a fix.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

edit aflobby.sh to add the parameter -verbose tot he java command. It will become obvious that the lockup si nto a lockup at all btu rather:

Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space

This is confusing as I have 2GB of ram and its clearly obvious from task manager and netbeans that memory is not being used up.
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Post by Kloot »

That's because the JVM reserves only 64MB by default and prefers to crash rather than request more when it runs out. What you want is to set the heapsize to something roomier on startup, like this:

Code: Select all

java -Xms128m -Xmx512m -jar aflobby.jar
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

I and Hellcom/relative had an issue with logging in so I've replaced the current login progress panel (a label saying "hashed map: (xof n)") for a fancy new progress bar, along with a new logging in and connection mechanism.

Image

Relative has also helped me fix a new set of lockup bugs, and I've found a few more myself. Including autoscrolling bugs, channel tab issues, and a few small issues with random things. I also removed a lot of unnecesary panel controls and got rid of a lot of unnecessary threads. The whole UI should run a lot smoother now. There's also a new help tab now with a wiki:

Image

There's also a new smileys feature:

Image

They're fully animated smileys (courtesy of smoths forum), and they're defined using :smileyname: so in tasclient you'd see :cesure: or :afro: or :asdf:. The entire list of smileys is in the above screenshot.

Users now also autojoin #aflobby at startup. This channel cant be reached by tasclient users. There's also a slew of new warning windows to try and catch possible errors. The warnign window itself has been redesigned too:

Image

Some people also mentiond the window border and how it might look strange when on a white background so borders have been added:

Image


As always, feedback is welcome!

In the meantime here are a few pictures of tasclient UI mess ups:

ImageImage
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

Quite lame to post tasclient bugs as an attempt to make your stuff more popular tbh.
User avatar
iamacup
Posts: 987
Joined: 26 Jun 2006, 20:43

Post by iamacup »

why on earth do you need to safe guard against 128 mb mem usage?? lol

surely it will never reach that much? (and if it does you need to start again)
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

128MB was a test build safeguard, I chose that value based on what I was testing with not what was optimum. The default is 64MB, and the warning now mentions 64MB not 128MB too. AFLobby shouldnt exceed this normally but its there just in case, a pre-emptive warning.

In the mean time I'll be glad to see your restart of 'spring client v1', tasclient and its forks have been known to breach the 128MB barrier under the right conditions.
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Post by LordMatt »

iamacup wrote:why on earth do you need to safe guard against 128 mb mem usage?? lol

surely it will never reach that much? (and if it does you need to start again)
Yeah I never saw that either, and I have tonnes of maps too.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

With 222 maps, and fully logged in, tasclient is 49MB, and a debug build of AFLobby with verbose VM loggign turned on is 35MB.
User avatar
Relative
Posts: 1371
Joined: 15 Oct 2006, 13:17

Post by Relative »

Not sure if I gave this to you, but I sometimes get this just after I login.

Code: Select all

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: No such child: 3
        at java.awt.Container.getComponent(Container.java:281)
        at javax.swing.JComponent.rectangleIsObscured(JComponent.java:4319)
        at javax.swing.JComponent.paint(JComponent.java:1020)
        at javax.swing.JComponent._paintImmediately(JComponent.java:5064)
        at javax.swing.JComponent.paintImmediately(JComponent.java:4862)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:727)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:683)
        at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:663)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

That can be ignored, it has no effect on AFLobbys functionality or rendering.
Post Reply

Return to “Linux”