Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - tomreyn

Pages: 1 ... 3 4 5 6 [7] 8 9 10 11 ... 20
151
General discussion / [DONE] E-mail notification on topic reply
« on: 22 September 2012, 16:52:23 »
Hi,

we have some issues with the MegaGlest bug report forum which I'd like to discuss. It often happens that people register to the forums, post a bug report, which we reply to, and they are never seen again. I assume the default forum configuration is to not send e-mail notifications when a topic you've created receives replies. If this is the default setting this would explain why this is happening.

And if that's so, then I would very much recommend to change this default. Unless you decide not to (and change your forum profile accordingly) you should receive an e-mail notification when a topic you started gets new replies. This would very much help us making sure that people do not just forget about their bug reports and never visit the forums again.

Thanks for considering.

Edit by Omega: Changed title

152
A game admin (the person hosting a game or controlling a headless server) should be able to disconnect a player from a running game, so as to be able to handle misbehaving users without having to restart the entire game. As usual, disconnected players should be replaced by AI.

153
While it only happens sometimes (but often enough to spoil the fun), when you right-click on enemy units in order to attack them, it can happen that you units do not attack the enemy but just walk towards them, and get slain. That's a pretty annoying behaviour, even though it happens only a couple times in every game.

Unfortunately I do not know how to reproduce this. This issue is an oldtimer, though, it's been around for several versions. On svn head, when this happens, you see that the 'walk to' indicator (a green circle around the enemy unit, I think) is drawn by the time you click, instead of the 'attack' indicator (red circle around enemy unit, IIRC).

It would be great if it was possible to identify and get rid of this issue which can result in loosing games (it's happened to me).

154
Titi and I were testing the latest SVN, r3553, with his recent changes in it. He was hosting, I was a network client, and we were fighting against three CPU Ultra.
Quite a while into the game (roughly half an hour?), some minutes after I had already lost my main only building (but had some units, workers, structures and food left), I got this:

(a) Game output
Code: [Select]
megaglest v3.6.1-dev
Compiled using: GNUC: 40603 [64bit] on: Sep 14 2012 00:42:47
SVN: [Rev: 3553M] - using STREFLOP [SSE] - [no-denormals]
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 4848] Error detected: signal 11:
Error saved to logfile [/home/tomreyn/.megaglest/error.log]
[2012-09-14 01:41:29] *ERROR* In [/home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleRuntimeError Line: 369] [In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 4848] Error detected: signal 11:
] gameInitialized = 1, program = 0x1d09ad0
[2012-09-14 01:41:31] *ERROR* In [/home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleRuntimeError Line: 388] [In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 4848] Error detected: signal 11:

Stack Trace:
./megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x6a5f60] line: 379
./megaglest() [0x6901f7]address [0x6901f7]
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7fdb96ce8480] line: 0
./megaglest:Glest::Game::Map::clearUnitCells(Glest::Game::Unit*, Shared::Graphics::Vec2<int> const&, bool)address [0x90ca5c] line: 1489
./megaglest:Glest::Game::Unit::undoCommand(Glest::Game::Command*)address [0x8680d2] line: 2957
./megaglest:Glest::Game::Unit::clearCommands()address [0x8684c5] line: 2798
./megaglest:Glest::Game::Unit::giveCommand(Glest::Game::Command*, bool)address [0x86ac9a] line: 1424
./megaglest:Glest::Game::Commander::giveNetworkCommand(Glest::Game::NetworkCommand*) constaddress [0x57296b] line: 880
./megaglest:Glest::Game::Commander::updateNetwork(Glest::Game::Game*)address [0x5758ef] line: 611
./megaglest:Glest::Game::Game::update()address [0x5c252e] line: 1473
./megaglest:Glest::Game::Program::loopWorker()address [0x6b23a6] line: 433
./megaglest:Glest::Game::glestMain(int, char**)address [0x69d160] line: 4707
./megaglest:Glest::Game::glestMainWrapper(int, char**)address [0x6a0bc6] line: 4887
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main()address [0x7fdb96cd376d] line: 0
./megaglest() [0x4f2f79]address [0x4f2f79]
]

(b) GDB:
Code: [Select]
Core was generated by `./megaglest'.
Program terminated with signal 6, Aborted.
#0  0x00007fdb96ce8405 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64   ../nptl/sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
#0  0x00007fdb96ce8405 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007fdb96cebb6b in __GI_abort () at abort.c:91
#2  0x00000000006a5d04 in Glest::Game::ExceptionHandler::handleRuntimeError (msg=<optimized out>, getStackTraceString=true) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:488
#3  0x00000000006901f7 in Glest::Game::handleSIGSEGV (sig=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4852
#4  <signal handler called>
#5  0x000000000090ca5c in getCurrCommand (this=0x1c4da9d0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/map.cpp:2104
#6  Glest::Game::Map::clearUnitCells (this=0x11d3b780, unit=0x1c4da9d0, pos=..., ignoreSkill=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/map.cpp:1489
#7  0x00000000008680d2 in Glest::Game::Unit::undoCommand (this=0x1c4da9d0, command=0x1cd2f100) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/type_instances/unit.cpp:2956
#8  0x00000000008684c5 in Glest::Game::Unit::clearCommands (this=0x1c4da9d0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/type_instances/unit.cpp:2796
#9  0x000000000086ac9a in Glest::Game::Unit::giveCommand (this=0x1c4da9d0, command=0x1c7dd1b0, tryQueue=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/type_instances/unit.cpp:1417
#10 0x000000000057296b in Glest::Game::Commander::giveNetworkCommand (this=<optimized out>, networkCommand=0x1ce40c50) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/commander.cpp:878
#11 0x00000000005758ef in Glest::Game::Commander::updateNetwork (this=0x11d3ca30, game=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/commander.cpp:612
#12 0x00000000005c252e in Glest::Game::Game::update (this=0x11d3b6b0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1471
#13 0x00000000006b23a6 in Glest::Game::Program::loopWorker (this=0x1d09ad0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:432
#14 0x000000000069d160 in Glest::Game::glestMain (argc=<optimized out>, argv=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4707
#15 0x00000000006a0bc6 in Glest::Game::glestMainWrapper (argc=1, argv=0x7fff698ede48) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4885
#16 0x00007fdb96cd376d in __libc_start_main (main=0x4ed9b0 <main(int, char**)>, argc=1, ubp_av=0x7fff698ede48, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff698ede38) at libc-start.c:226
#17 0x00000000004f2f79 in _start ()

At the same time, Titi got this:
Code: [Select]
#1  0xb6c55651 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb6c58a82 in *__GI_abort () at abort.c:92
#3  0x082ca25f in Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool) ()
#4  0x0829b359 in Glest::Game::handleSIGSEGV (sig=11) at /home/tscharn/Desktop/glest/megaglest/megaglest/source/glest_game/main/main.cpp:4852
#5  <signal handler called>
#6  Glest::Game::UnitType::getSize (this=0x8c89881c, unit=0xac320a8, pos=..., ignoreSkill=false) at /home/tscharn/Desktop/glest/megaglest/megaglest/source/glest_game/types/unit_type.h:195
#7  Glest::Game::Map::clearUnitCells (this=0x8c89881c, unit=0xac320a8, pos=..., ignoreSkill=false) at /home/tscharn/Desktop/glest/megaglest/megaglest/source/glest_game/world/map.cpp:1491
#8  0x08515e16 in Glest::Game::Unit::undoCommand (this=0xac320a8, command=0x9b792ab0) at /home/tscharn/Desktop/glest/megaglest/megaglest/source/glest_game/type_instances/unit.cpp:2956
#9  0x0851629d in Glest::Game::Unit::clearCommands (this=0xac320a8) at /home/tscharn/Desktop/glest/megaglest/megaglest/source/glest_game/type_instances/unit.cpp:2796
#10 0x0851c1a3 in Glest::Game::Unit::giveCommand (this=0xac320a8, command=0x9b791238, tryQueue=false) at /home/tscharn/Desktop/glest/megaglest/megaglest/source/glest_game/type_instances/unit.cpp:1417
#11 0x0819e882 in Glest::Game::Commander::giveNetworkCommand (this=0x8c899490, networkCommand=0xb5dffa8) at /home/tscharn/Desktop/glest/megaglest/megaglest/source/glest_game/game/commander.cpp:878
#12 0x081a13e6 in Glest::Game::Commander::updateNetwork (this=0x8c899490, game=0x8c8987a0) at /home/tscharn/Desktop/glest/megaglest/megaglest/source/glest_game/game/commander.cpp:612
#13 0x081bd1be in Glest::Game::Game::update (this=<value optimized out>) at /home/tscharn/Desktop/glest/megaglest/megaglest/source/glest_game/game/game.cpp:1471
#14 0x0828e5f4 in Glest::Game::Program::loopWorker (this=0xb2c05c18) at /home/tscharn/Desktop/glest/megaglest/megaglest/source/glest_game/main/program.cpp:432
#15 0x082becd7 in Glest::Game::glestMain (argc=1, argv=0xbf9551a4) at /home/tscharn/Desktop/glest/megaglest/megaglest/source/glest_game/main/main.cpp:4707
#16 0x082c2223 in Glest::Game::glestMainWrapper (argc=1, argv=0xbf9551a4) at /home/tscharn/Desktop/glest/megaglest/megaglest/source/glest_game/main/main.cpp:4885
#17 0x082c2363 in main (argc=1, argv=0xbf9551a4) at /home/tscharn/Desktop/glest/megaglest/megaglest/source/glest_game/main/main.cpp:4907
(xxgdb)

155
Currently, when you start a new custom game, it defaults to the four player "Conflict" map where on both top left and bottom right side of the map, two players start close to each other. The default game setup for a custom game is this:

Code: [Select]
PLAYER ID  NAME     CONTROL    MULTIPLIER  FACTION  TEAM
0          tomreyn  Human      -/-         Egypt    1
1          -/-      CPU        1.0         Indian   2
2          -/-      (Closed)   -/-         -/-      -/-
3          -/-      (Closed)   -/-         -/-      -/-

The average newbie will see that two players are in place, her/him and a bot, and just start the game. Which results in this player getting immediately attacked by the nearby CPU. So this setup is a bad default in my opinion. Sure, it does teach newbies that they need to look at the team ID  (an important value which is unluckily positioned at the end of each row) and see how each players' team ID  fits with the start positions color coded on the mini map.

The impact of the (very similar) defaults on Internet games are even worse, since newbies will often just start the game without making any modifications as soon as someone connects to the server they are hosting or (more likey) control.

I think a much better default setup would be to still use the Conflict map but to set players up like this:

Code: [Select]
PLAYER ID  NAME     CONTROL   MULTIPLIER  FACTION  TEAM
0          tomreyn  Human      -/-         Roman    1
1          -/-      (Closed)   -/-         -/-      -/-
2          -/-      (Closed)   -/-         -/-      -/-
3          -/-      CPU        1.0         Indian   2

On Internet games, the default setup should be a cooperative setup like this:
Code: [Select]
PLAYER ID  NAME     CONTROL    MULTIPLIER  FACTION  TEAM
0          tomreyn  Human      -/-         Roman    1
1          -/-      (Network)  -/-         Roman    1
2          -/-      CPU        1.0         Indian   2
3          -/-      CPU        1.0         Indian   2

Other options are possible here and can be discussed, but whichever setup is chosen should make more sense than the current default setup.

156
At this time, it often happens that players, especially new ones, will connect to IRC only for a short period while they check for available games, then leave again. This is an issue in itself, but not a technical one. What adds to it, however, is that reports on players connecting / disconnecting to/from IRC tend to end up on other players screens with much delay. As such, you often get situations like these (this is from XChat logs, which also report proper timing information):

Code: [Select]
[10:42] * MG_Michi_355 (~MG_Michi_@a.b.c.d) joins #megaglest-lobby
[10:44] <MG_Michi_355> left the lobby
[10:44] * MG_Michi_355 has disconnected (Client Quit)
[10:49] <MG_WAHBI_982> MG_Michi_355  hello

In this example, Michi connected to the lobby channel, remained there for two minutes while (I assume) checking the server list, then left the IRC chat. A couple minutes later the information that Michi joined IRC, made it on Wahbis' screen, so he pressed the button (or used tab completion) to have Michi's IRC nickname printed and said "hello". Unfortunately Michi never got to see this message since by then he had been disconnected for some minutes.

Now this is an especially bad case, delay is not normally that bad. But there always is delay, and it seems to always add a minimum of ~ 20 seconds on top of when XChat reports joins/parts, based on my own testing. For many people it's rtather minutes than seconds, though.

So what I'd like to ask for is to try and decrease this delay. Other IRC clients can do it, so I assume MegaGlest should be able to do so, too (unless it's an inherent issue in libircclient).

Finally, while I reported this against 3.6.0.3, my impression is this also affects SVN up to and including r3551.

157
I wrote a shell script (I'd call it mgg_handler_installer), still very experimental, to make it possible to click a link on a website to run MegaGlest and connect to the IP:Port given on said website.
This script is pretty ugly so far, and I haven't even dared to test it, yet. So this is most likely very, very error prone and, if run, could seriously harm your computer (actually I don't think it will but I don't want to be blamed for broken PCs ).

I'd like your (that's primarily but not only Softcoders') opinion on whether or not installing such a MIME type handler on user' systems is a good idea (or not) and whether or not it would be ok to commit this (possibly after modifications). I would put it into source/tools/ for now, because of its experimental nature. If we actually decide that this is a good approach and if it ever grows stable then we could move it to mk/linux/ sometime.

This script is not the handler itself but rather an installer which creates some files (when run with --install, or removes those files when run with --uninstall), setting up a MIME type application/x-megaglest-gameserver, links it to files named *.mgg, and provides a handler script to invoke MegaGlest.

The idea is to have people access, for example, the http://master.megaglest.org web page and click on a server they want to connect to. This would then redirect them to, http://master.megaglest.org/?mgg_host=127.0.0.1&mgg_port=61357. This would trigger a file megaglest-server.mgg with MIME type application/x-megaglest-gameserver to be downloaded - in fact that's already the case now. This file would then be processed on the client and MegaGlest would be run with --connecthost=$ip --use-ports=$port,61357, i.e. directly connecting to the given server.

This script makes use of Freedesktop.org's XDG standard so it should be compatible with every recent graphical Linux desktop. And no, this won't work with Windows. ;-)

158
Feature requests / Uploading new mods to a headless server
« on: 7 August 2012, 23:38:27 »
People keep asking whether it's possible to play non-standard mod X on a given headless server, and in most cases the answer to this is 'no'.
So I'm wondering how much work would be involved in making it possible to have an FTP upload account where people whom the server admin(s) trust(s) (and is/are happy to pass a shared, or - slighly preferrable - unique, password to) could upload additional mods.

I guess this would require making the FTP server available continuously, but if it can be assumed that the current implementation of the FTP protocol (the modifiesd featheryftpd) is mostly stable then this should be doable.

Clearly, the lack of extra mods on headless servers is an issue to date. I remamber that Treba had provided a script to at least install those mods which had been approved, but the real issue is that most mods are never approved because their makers never apply for it. Which, in the end, means that people are unable to play these mods on headless servers. That's not really the fault on our end, but I guess we still want to make things easy, so it maybe good to revisit the options available on this layer.

159
This is a rather old one, and it's a minor issue, but I still consider it a bug...

When you are ocnnected to a server (whether it's a headless should not matter, but while producing it it was a full game hosting) have just switched slots and another network player connects at the same time, and both of you chat, then what the connecting player says or what you say may be displayed as if it was said by a player whose playername is ???. E.g.:
Code: [Select]
tomreyn: foo
???: Hi, I just joined this server.
otherplayer: bar

I think the problem there is that the user is already able to chat by the time not all systems know his or her player name. So the event when someone joining a server is allowed to speak should be postponed until every end knows who is talking..

160
This is mostly based on victor's earlier bug report, which wasn't very precise, but with additional information provided on IRC.

To reproduce, edit $UserData_Root/glestuser.ini and set PlayerName to victorJ_Br. When done, start a fresh rebuild of the latest svn revision, which, to date, is r3502. Go to the 'options' menu and try to change your player name to GGGGG. While trying to do so, MG will crash. This is on Ubuntu 12.04, x86_64.

The following output is produced:

Code: [Select]
megaglest v3.6.1-dev
Compiled using: GNUC: 40603 [64bit] on: Jul 26 2012 01:22:35
SVN: [Rev: 3502M] - using STREFLOP [SSE] - [no-denormals]
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 4836] Error detected: signal 11:
*** glibc detected *** mk/linux/megaglest: malloc(): memory corruption: 0x00000000032596f0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7e626)[0x7fadf878a626]
/lib/x86_64-linux-gnu/libc.so.6(+0x8078b)[0x7fadf878c78b]
/lib/x86_64-linux-gnu/libc.so.6(__libc_malloc+0x75)[0x7fadf878ea45]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_Znwm+0x1d)[0x7fadf908eded]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZNSs4_Rep9_S_createEmmRKSaIcE+0x59)[0x7fadf9077a89]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag+0x35)[0x7fadf9079495]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZNSsC2EPKcRKSaIcE+0x43)[0x7fadf90795e3]
mk/linux/megaglest(_ZN5Glest4Game16ExceptionHandler8logErrorEPKcb+0x3f)[0x69c4ef]
mk/linux/megaglest(_ZN5Glest4Game16ExceptionHandler18handleRuntimeErrorEPKcb+0x5a)[0x6a0f6a]
mk/linux/megaglest[0x68b887]
/lib/x86_64-linux-gnu/libc.so.6(+0x364c0)[0x7fadf87424c0]
/lib/x86_64-linux-gnu/libc.so.6(+0x1410d9)[0x7fadf884d0d9]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZNSs9_M_mutateEmmm+0x12a)[0x7fadf9077d4a]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZNSs14_M_replace_auxEmmmc+0x4a)[0x7fadf907808a]
mk/linux/megaglest(_ZN5Glest4Game16MenuStateOptions8keyPressE17SDL_KeyboardEvent+0x1a4)[0x6d4f94]
mk/linux/megaglest(_ZN5Glest4Game8MainMenu8keyPressE17SDL_KeyboardEvent+0x2c)[0x73928c]
mk/linux/megaglest(_ZN5Glest4Game7Program8keyPressE17SDL_KeyboardEvent+0x2c)[0x6aaebc]
mk/linux/megaglest(_ZN5Glest4Game10MainWindow13eventKeyPressE17SDL_KeyboardEvent+0x71)[0x671df1]
mk/linux/megaglest(_ZN6Shared8Platform6Window11handleEventEv+0x10ad)[0xa1529d]
mk/linux/megaglest(_ZN5Glest4Game9glestMainEiPPc+0xab5c)[0x6986ac]
mk/linux/megaglest(_ZN5Glest4Game16glestMainWrapperEiPPc+0x96)[0x69c136]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7fadf872d76d]
mk/linux/megaglest[0x4f2e19]
======= Memory map: ========
00400000-00c65000 r-xp 00000000 fc:02 12189707                           /home/tomreyn/SCM/megaglest-trunk/mk/linux/megaglest
00e64000-00e67000 r--p 00864000 fc:02 12189707                           /home/tomreyn/SCM/megaglest-trunk/mk/linux/megaglest
00e67000-00e6a000 rw-p 00867000 fc:02 12189707                           /home/tomreyn/SCM/megaglest-trunk/mk/linux/megaglest
00e6a000-00e93000 rw-p 00000000 00:00 0
01b5c000-04286000 rw-p 00000000 00:00 0                                  [heap]
7fadc0000000-7fadc0056000 rw-p 00000000 00:00 0
7fadc0056000-7fadc4000000 ---p 00000000 00:00 0
7fadc8000000-7fadc8033000 rw-p 00000000 00:00 0
7fadc8033000-7fadcc000000 ---p 00000000 00:00 0
7fadcc000000-7fadcc021000 rw-p 00000000 00:00 0
7fadcc021000-7fadd0000000 ---p 00000000 00:00 0
7fadd0000000-7fadd0021000 rw-p 00000000 00:00 0
7fadd0021000-7fadd4000000 ---p 00000000 00:00 0
7fadd6efd000-7fadd6efe000 ---p 00000000 00:00 0
7fadd6efe000-7fadd76fe000 rw-p 00000000 00:00 0
7fadd76fe000-7fadd77fe000 rw-s 149395000 00:05 1389                      /dev/dri/card0
7fadd77fe000-7fadd77ff000 ---p 00000000 00:00 0
7fadd77ff000-7fadd7fff000 rw-p 00000000 00:00 0
7fadd7fff000-7faddc000000 rw-s 00000000 00:1b 122050175                  /run/shm/pulse-shm-2681164912
7faddc000000-7faddc021000 rw-p 00000000 00:00 0
7faddc021000-7fade0000000 ---p 00000000 00:00 0
7fade0000000-7fade0021000 rw-p 00000000 00:00 0
7fade0021000-7fade4000000 ---p 00000000 00:00 0
7fade4000000-7fade4021000 rw-p 00000000 00:00 0
7fade4021000-7fade8000000 ---p 00000000 00:00 0
7fade80ec000-7fade80fc000 rw-s 13cc05000 00:05 1389                      /dev/dri/card0
7fade80fc000-7fade810c000 rw-s 149385000 00:05 1389                      /dev/dri/card0
7fade810c000-7fade820c000 rw-s 149277000 00:05 1389                      /dev/dri/card0
7fade820c000-7fade821c000 rw-s 149267000 00:05 1389                      /dev/dri/card0
7fade821c000-7fade822c000 rw-s 149257000 00:05 1389                      /dev/dri/card0
7fade822c000-7fade822d000 rw-s 149256000 00:05 1389                      /dev/dri/card0
7fade822d000-7fade822e000 rw-s 149255000 00:05 1389                      /dev/dri/card0
7fade822e000-7fade822f000 rw-s 149254000 00:05 1389                      /dev/dri/card0
7fade822f000-7fade8230000 rw-s 149253000 00:05 1389                      /dev/dri/card0
7fade8230000-7fade8234000 rw-s 14924f000 00:05 1389                      /dev/dri/card0
7fade8234000-7fade823c000 rw-s 149247000 00:05 1389                      /dev/dri/card0
7fade823c000-7fade8242000 rw-s 149241000 00:05 1389                      /dev/dri/card0
7fade8242000-7fade824a000 rw-s 149239000 00:05 1389                      /dev/dri/card0
7fade824a000-7fade824c000 rw-s 149237000 00:05 1389                      /dev/dri/card0
7fade824c000-7fade824e000 rw-s 149235000 00:05 1389                      /dev/dri/card0
7fade824e000-7fade824f000 rw-s 149234000 00:05 1389                      /dev/dri/card0
7fade824f000-7fade8251000 rw-s 149232000 00:05 1389                      /dev/dri/card0
7fade8251000-7fade825a000 rw-s 149229000 00:05 1389                      /dev/dri/card0
7fade825a000-7fade8264000 rw-s 14921f000 00:05 1389                      /dev/dri/card0
7fade8264000-7fade826b000 rw-s 149218000 00:05 1389                      /dev/dri/card0
7fade826b000-7fade8275000 rw-s 14920e000 00:05 1389                      /dev/dri/card0
7fade8275000-7fade8278000 rw-s 14920b000 00:05 1389                      /dev/dri/card0
7fade8278000-7fade827e000 rw-s 149205000 00:05 1389                      /dev/dri/card0
7fade827e000-7fade8282000 rw-s 149201000 00:05 1389                      /dev/dri/card0
7fade8282000-7fade8288000 rw-s 1491fb000 00:05 1389                      /dev/dri/card0
7fade8288000-7fade828b000 rw-s 1491f8000 00:05 1389                      /dev/dri/card0
7fade828b000-7fade8290000 rw-s 1491f3000 00:05 1389                      /dev/dri/card0
7fade8290000-7fade8293000 rw-s 1491f0000 00:05 1389                      /dev/dri/card0
7fade8293000-7fade8298000 rw-s 1491eb000 00:05 1389                      /dev/dri/card0
7fade8298000-7fade82af000 rw-s 1491d4000 00:05 1389                      /dev/dri/card0
7fade82af000-7fade82bc000 rw-s 1491c7000 00:05 1389                      /dev/dri/card0
7fade82bc000-7fade82c5000 rw-s 1491be000 00:05 1389                      /dev/dri/card0
7fade82c5000-7fade82d2000 rw-s 1491b1000 00:05 1389                      /dev/dri/card0
7fade82d2000-7fade82dc000 rw-s 1491a3000 00:05 1389                      /dev/dri/card0
7fade82dc000-7fade82dd000 ---p 00000000 00:00 0
7fade82dd000-7fade8add000 rw-p 00000000 00:00 0
7fade8add000-7fade8ade000 ---p 00000000 00:00 0
7fade8ade000-7fade92de000 rw-p 00000000 00:00 0
7fade92de000-7fade92df000 ---p 00000000 00:00 0
7fade92df000-7fade9adf000 rw-p 00000000 00:00 0
7fade9ae0000-7fade9ae1000 rw-s 146654000 00:05 1389                      /dev/dri/card0
7fade9ae1000-7fade9ae2000 rw-s 1491b0000 00:05 1389                      /dev/dri/card0
7fade9ae2000-7fade9ae3000 rw-s 14644e000 00:05 1389                      /dev/dri/card0
7fade9ae3000-7fade9ae4000 rw-s 14644d000 00:05 1389                      /dev/dri/card0
7fade9ae4000-7fade9ae5000 rw-s 14644c000 00:05 1389                      /dev/dri/card0
7fade9ae5000-7fade9ae6000 rw-s 14644b000 00:05 1389                      /dev/dri/card0
7fade9ae6000-7fade9ae7000 rw-s 14644a000 00:05 1389                      /dev/dri/card0
7fade9ae7000-7fade9ae8000 rw-s 146449000 00:05 1389                      /dev/dri/card0
7fade9ae8000-7fade9ae9000 rw-s 146448000 00:05 1389                      /dev/dri/card0
7fade9ae9000-7fade9aea000 rw-s 146447000 00:05 1389                      /dev/dri/card0
7fade9aea000-7fade9aec000 rw-p 00000000 00:00 0
7fade9aec000-7fade9ba5000 r--p 00000000 fc:02 14161136                   /home/tomreyn/SCM/megaglest-trunk/data/glest_game/data/core/fonts/LinBiolinum_RB.ttf
7fade9ba5000-7fade9c5e000 r--p 00000000 fc:02 14161136                   /home/tomreyn/SCM/megaglest-trunk/data/glest_game/data/core/fonts/LinBiolinum_RB.ttf
7fade9c5e000-7fade9d17000 r--p 00000000 fc:02 14161136                   /home/tomreyn/SCM/megaglest-trunk/data/glest_game/data/core/fonts/LinBiolinum_RB.ttf
7fade9d17000-7fade9dd0000 r--p 00000000 fc:02 14161136                   /home/tomreyn/SCM/megaglest-trunk/data/glest_game/data/core/fonts/LinBiolinum_RB.ttf
7fade9dd0000-7fade9e89000 r--p 00000000 fc:02 14161136                   /home/tomreyn/SCM/megaglest-trunk/data/glest_game/data/core/fonts/LinBiolinum_RB.ttf
7fade9e89000-7fade9f42000 r--p 00000000 fc:02 14161136                   /home/tomreyn/SCM/megaglest-trunk/data/glest_game/data/core/fonts/LinBiolinum_RB.ttf
7fade9f42000-7fade9f43000 ---p 00000000 00:00 0
7fade9f43000-7fadea743000 rw-p 00000000 00:00 0
7fadea743000-7fadea774000 r-xp 00000000 fc:01 395579                     /usr/lib/x86_64-linux-gnu/libtxc_dxtn_s2tc.so.0.0.0
7fadea774000-7fadea973000 ---p 00031000 fc:01 395579                     /usr/lib/x86_64-linux-gnu/libtxc_dxtn_s2tc.so.0.0.0
7fadea973000-7fadea974000 r--p 00030000 fc:01 395579                     /usr/lib/x86_64-linux-gnu/libtxc_dxtn_s2tc.so.0.0.0
7fadea974000-7fadea975000 rw-p 00031000 fc:01 395579                     /usr/lib/x86_64-linux-gnu/libtxc_dxtn_s2tc.so.0.0.0
7fadea975000-7fadea976000 ---p 00000000 00:00 0
7fadea976000-7fadeb176000 rw-p 00000000 00:00 0
7fadeb176000-7fadeb177000 rw-s 1491af000 00:05 1389                      /dev/dri/card0
7fadeb177000-7fadeb178000 rw-s 1491ae000 00:05 1389                      /dev/dri/card0
7fadeb178000-7fadeb179000 rw-s 1491ad000 00:05 1389                      /dev/dri/card0
7fadeb179000-7fadeb17f000 rw-s 14919d000 00:05 1389                      /dev/dri/card0
7fadeb17f000-7fadeb183000 rw-s 149199000 00:05 1389                      /dev/dri/card0
7fadeb183000-7fadeb189000 rw-s 149193000 00:05 1389                      /dev/dri/card0
7fadeb189000-7fadeb18a000 rw-s 149192000 00:05 1389                      /dev/dri/card0
7fadeb18a000-7fadeb18b000 rw-s 149191000 00:05 1389                      /dev/dri/card0
7fadeb18b000-7fadeb18c000 rw-s 149190000 00:05 1389                      /dev/dri/card0
7fadeb18c000-7fadeb18d000 rw-s 14918f000 00:05 1389                      /dev/dri/card0
7fadeb18d000-7fadeb18f000 rw-s 14918d000 00:05 1389                      /dev/dri/card0
7fadeb18f000-7fadeb191000 rw-s 14918b000 00:05 1389                      /dev/dri/card0
7fadeb191000-7fadeb192000 rw-s 14918a000 00:05 1389                      /dev/dri/card0
7fadeb192000-7fadeb194000 rw-s 149188000 00:05 1389                      /dev/dri/card0
7fadeb194000-7fadeb195000 rw-s 149187000 00:05 1389                      /dev/dri/card0
7fadeb195000-7fadeb196000 rw-s 149186000 00:05 1389                      /dev/dri/card0
7fadeb196000-7fadeb197000 rw-s 149185000 00:05 1389                      /dev/dri/card0
7fadeb197000-7fadeb198000 rw-s 149184000 00:05 1389                      /dev/dri/card0
7fadeb198000-7fadeb199000 rw-s 149183000 00:05 1389                      /dev/dri/card0
7fadeb199000-7fadeb19a000 rw-s 149182000 00:05 1389                      /dev/dri/card0
7fadeb19a000-7fadeb19b000 rw-s 149181000 00:05 1389                      /dev/dri/card0
7fadeb19b000-7fadeb19c000 rw-s 149180000 00:05 1389                      /dev/dri/card0
7fadeb19c000-7fadeb19e000 rw-s 14917e000 00:05 1389                      /dev/dri/card0
7fadeb19e000-7fadeb1a0000 rw-s 14917c000 00:05 1389                      /dev/dri/card0
7fadeb1a0000-7fadeb1a1000 rw-s 14917b000 00:05 1389                      /dev/dri/card0
7fadeb1a1000-7fadeb1a3000 rw-s 149179000 00:05 1389                      /dev/dri/card0
7fadeb1a3000-7fadeb1a5000 rw-s 149177000 00:05 1389                      /dev/dri/card0
7fadeb1a5000-7fadeb1a7000 rw-s 149175000 00:05 1389                      /dev/dri/card0
7fadeb1a7000-7fadeb1a9000 rw-s 149173000 00:05 1389                      /dev/dri/card0
7fadeb1a9000-7fadeb1ab000 rw-s 149171000 00:05 1389                      /dev/dri/card0
7fadeb1ab000-7fadeb1ac000 rw-s 149170000 00:05 1389                      /dev/dri/card0
7fadeb1ac000-7fadeb1ad000 rw-s 14916f000 00:05 1389                      /dev/dri/card0
7fadeb1ad000-7fadeb1ae000 rw-s 14916e000 00:05 1389                      /dev/dri/card0
7fadeb1ae000-7fadeb1bb000 rw-s 14915c000 00:05 1389                      /dev/dri/card0
7fadeb1bb000-7fadeb1bc000 rw-s 146cfb000 00:05 1389                      /dev/dri/card0
7fadeb1bc000-7fadeb33d000 rw-p 00000000 00:00 0
7fadeb33d000-7fadeb344000 r-xp 00000000 fc:01 414532                     /usr/lib/x86_64-linux-gnu/libffi.so.6.0.0
7fadeb344000-7fadeb543000 ---p 00007000 fc:01 414532                     /usr/lib/x86_64-linux-gnu/libffi.so.6.0.0
7fadeb543000-7fadeb544000 r--p 00006000 fc:01 414532                     /usr/lib/x86_64-linux-gnu/libffi.so.6.0.0
7fadeb544000-7fadeb545000 rw-p 00007000 fc:01 414532                     /usr/lib/x86_64-linux-gnu/libffi.so.6.0.0
7fadeb545000-7fadec820000 r-xp 00000000 fc:01 424066                     /usr/lib/x86_64-linux-gnu/libLLVM-3.0.so.1
7fadec820000-7fadeca20000 ---p 012db000 fc:01 424066                     /usr/lib/x86_64-linux-gnu/libLLVM-3.0.so.1
7fadeca20000-7fadecb99000 r--p 012db000 fc:01 424066                     /usr/lib/x86_64-linux-gnu/libLLVM-3.0.so.1
7fadecb99000-7fadeccad000 rw-p 01454000 fc:01 424066                     /usr/lib/x86_64-linux-gnu/libLLVM-3.0.so.1
7fadeccad000-7fadeccc1000 rw-p 00000000 00:00 0
7fadeccc1000-7fadece9c000 r-xp 00000000 fc:01 407245                     /usr/lib/x86_64-linux-gnu/dri/libgallium.so
7fadece9c000-7faded09c000 ---p 001db000 fc:01 407245                     /usr/lib/x86_64-linux-gnu/dri/libgallium.so
7faded09c000-7faded0ab000 r--p 001db000 fc:01 407245                     /usr/lib/x86_64-linux-gnu/dri/libgallium.so
7faded0ab000-7faded0ad000 rw-p 001ea000 fc:01 407245                     /usr/lib/x86_64-linux-gnu/dri/libgallium.so

It also says that the core was dumped at this time. If needed, I'm happy to provide a gdb backtrace on the dump.

161
Ishmaru has just released the first stable version of "Annex: Conquer the World", a game based on the MegaGlest engine (so Free Software) with CC-BY-SA game data (like MegaGlest). Read more about it in our latest newsletter. You can sign up for the newsletter yourself at http://megaglest.org (in the left column).

https://www.youtube.com/watch?v=i4BuAVkELK4

162
There are a couple localization keys (the identifiers/vriables left of the equals character in the language files) which contain blank spaces. I think that's not good style and we should replace them by ones which use CamelCase (like most do now) or use underscores.
Code: [Select]
tomreyn@atibox:~/SCM/megaglest-trunk$ grep -E '^[^;][^=]* ' data/glest_game/data/lang/english.lng
Connection failed=Connection failed
Couldnt connect=Connection failed. Choose another Server.
To switch off music press=To switch off music while waiting for players press
tomreyn@atibox:~/SCM/megaglest-trunk$
Plus there is at least one more which is not listed in english.lng:
Code: [Select]
left at (min)
This came up while some Pootle developers/contributors tried to convert these files to .po format for testing on pootle.

163
When you have custom tilesets installed in UserData_Root they should be listed on the game mods menu with a question mark icon since they are only available locally but not known to the game mods server. However, such locally-only available tilesets re not listed at all.

164
Feature requests / [done] Port numbers in servers.ini
« on: 18 July 2012, 19:49:47 »
Please expand servers.ini to allow storing port numbers in this file, too, and enable the game to interpret and connect to those ports when the given entry is selected from the LAN game menu.

Suggested format (backwards compatible):
Code: [Select]
; === propertyMap File ===

server1=123.123.123.123
server2=123.123.123.123:61377

With no port # provided, assume default port (61357).

165
We now have a little shell script which puts together the most relevant information we need when someone is having trouble running MegaGlest. This is also useful in situations where MegaGlest does not run at all or crashes quickly, an increasingly rare but difficult to diagnose case. On the other hand the system report also provides in-depth informationon the users' hardware and operating system, giving us a good idea of which environment MegaGlest is operating in.

This utility has been around for a while, but got a larger rewrite now (to add more features and safeguards) and it hasn't been tested much, yet, so please help testing. It's pretty straight forward, all you need to do is open a terminal window and paste this:

Code: [Select]
cd /tmp && wget 'http://megaglest.svn.sourceforge.net/svnroot/megaglest/trunk/source/tools/support/linux/system_report' && chmod +x system_report && ./system_report
This produces a report file which you should then make available as indicated.

This utility just gathers information (nothing personal except your hostname and username - you are welcome to edit this out if you prefer, but if you do, please make it visible), it does not make any changes to your system. You are also not supposed to run it as root/with sudo, running it as a normal/restricted user is fully sufficient.

Thanks in advance for testing.

166
I've just created a test build of the latest development code: megaglest_win32_r3461_bin.7z.

Archive checksums:

    MD5 7cbe8d66fdf366830cadaf320b4bed5c
    SHA256 7da699aed2314c872a189ae7da3fba38c695b5fc26200d4e6798cc6c6c0cd741

This 7-Zip archive contains only the executable files, no configuration files such as glest.ini, glestkeys.ini and servers.ini, no installer, no debugging symbols, nothing automatic and no further instructions.

If you would like to use this build then you need to already know how to, since I cannot explain it in a way which will work for everybody. Basically the process is that you make a copy of your entire existing MegaGlest installation, then extract the contents of this archive into the copy of your MegaGlest directory, overwriting the existing files.

Another option which saves disk space is to unpack this archive to a new directory, rename all files so that they have a distinct name, such as megaglest.exe -> megaglest_r12345.exe (where 12345 is the new SVN revision) etc., then move them into your existing MegaGlest installation directory, next to the existing megaglest.exe etc.

If you would like to play a test game with this revision, please find me on IRC and let me know. Be aware though that because you only updated the game engine but not the game data, your old copy may have outdated data which can be incompatible with a complete copy of the current development code. This development build contains the (can I say awesome?) upcoming savegame feature, as well as code to point your team mates to a location on the map (bookmarks, accessible via the escape menu in-game) as well as building site indicators. It also fixes several bugs.

167
When I run MegaGlest with just --version and it does not seem to run into an error condition, I'd expect its exit code to be 0. However, the exit code is 255:

Code: [Select]
tomreyn@atibox:~/SCM/megaglest-trunk$ mk/linux/megaglest --ini-path=mk/linux/ --data-path=mk/linux/ --version; echo $?
megaglest v3.6.1-dev
Compiled using: GNUC: 40603 [64bit] on: Jul 15 2012 18:47:45
SVN: [Rev: 3455M] - using STREFLOP [SSE] - [no-denormals]
255

If a segmentation fault occurs it seems to return exit code 254 instead.

The start_megaglest wrapper script did not return any error codes whatsoever so far. This issue is fixed in 3456, but the misleading exit codes the binary produces need yet to be looked into.

168
There is, unfortunately, a bug in the newly added feature where you can push and hold down the mouse button while pointing at the minimap, then move the mouse pointer across the minimap to move the camera aroudn swiftly.

The problem is that this swift camera movement also comes into effect when you are pulling a unit selection box / drawbox across the screen and your mouse pointer touches the minimap. At this point the camera will also move, which is unexpected and probably not intended. I guess the fix would be to only allow this way of moving the camera if the mouse button has been pressed while the pointer was within the mini map area and it was not released since. I.e. it is not sufficient to just check whether the mouse button is being hed down while the pointer is in the minimap area, but it also must have been pushed while being in the mini map area. Alternatively you could test whether a draw box is being drawn, and if so, not allow the camera to be moved by means of the mini map.

169
This may or may not already be fixed in SVN. For the case it is not, I'll post the detaisl I have...

I was hosting a game with 700 units, most of them CPU controlled. There were two players in my team who were still cponnected but dead (so that they could see the entire map and observe all movements), namely nig and xhahax. Xhahax's PC was - I assume - choking under the load, and had trouble catching up, since with every event his latency (as displayed by the game on the 'n' view), increased, and he wa close to getting disconnected. All three of us are in Germany and we had a lag-free game for most of the time (at least the first half of it), as we usually have. Then xhahax finally timed out, and I hit the return key incidentially at the very same moment (I'm not sure whether this triggered nything or not). In the same second, I crashed with this:

Code: [Select]
[2012-07-13 22:48:26] *ERROR* SOCKET WRITE TIMEOUT In [/home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/shared_lib/sources/platform/posix/socket.cpp::isWritable Line: 1639] i = 0 sock = 13
In [/home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/main/main.cpp::handleSIGSEGV Line: 652] Error detected: signal 11:
Error saved to logfile [/home/tomreyn/.megaglest/error.log]
terminate called after throwing an instance of 'std::runtime_error'
  what():  In [/home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/shared_lib/sources/platform/sdl/thread.cpp::~Mutex Line: 159] about to destroy mutex refCount = 1 owner [] deleteownerId []
[2012-07-13 22:48:27] *ERROR* In [/home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/main/main.cpp::handleRuntimeError Line: 416] [In [/home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/main/main.cpp::handleSIGSEGV Line: 652] Error detected: signal 11:
] gameInitialized = 1, program = 0x2911ca0
[2012-07-13 22:48:28] *ERROR* In [/home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/main/main.cpp::handleRuntimeError Line: 509] [In [/home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/main/main.cpp::handleSIGSEGV Line: 652] Error detected: signal 11:

Stack Trace:
./megaglest:Glest::Game::handleSIGSEGV(int) address [0x6d45c2] line: 657
/lib/x86_64-linux-gnu/libc.so.6:() address [0x7f90626a04c0] line: 0
]
Aborted (core dumped)

error.log:
Code: [Select]
[2012-07-13 22:48:28] Runtime Error information:
======================================================
In [/home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/main/main.cpp::handleSIGSEGV Line: 652] Error detected: signal 11:

Stack Trace:
./megaglest:Glest::Game::handleSIGSEGV(int) address [0x6d45c2] line: 657
/lib/x86_64-linux-gnu/libc.so.6:() address [0x7f90626a04c0] line: 0

gdb:
Code: [Select]
$ gdb -q -n -ex "bt" -batch megaglest core
[boring stuff edited out by tomreyn]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./megaglest'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000000000000000 in ?? ()
#0  0x0000000000000000 in ?? ()
#1  0x0000000000893bbf in Glest::Game::Unit::updateTimedParticles (this=0x303a69c0) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/type_instances/unit.cpp:1592
#2  0x0000000000916d41 in Glest::Game::UnitUpdater::updateUnit (this=0x4ab61f8, unit=0x303a69c0) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/world/unit_updater.cpp:137
#3  0x00000000008ff959 in Glest::Game::World::updateAllFactionUnits (this=0x4ab5a08) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/world/world.cpp:416
#4  0x00000000009041b7 in Glest::Game::World::update (this=0x4ab5a08) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/world/world.cpp:501
#5  0x0000000000629bd4 in Glest::Game::Game::update (this=0x4ab59d0) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/game/game.cpp:1167
#6  0x00000000006f2013 in Glest::Game::Program::loopWorker (this=0x3063c20) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/main/program.cpp:382
#7  0x00000000006eeafd in Glest::Game::ExceptionHandler::handleRuntimeError(char const*) ()
#8  0x00000000006d45c2 in Glest::Game::handleSIGSEGV (sig=<optimized out>) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/main/main.cpp:656
#9  <signal handler called>
#10 0x0000000000000000 in ?? ()
#11 0x0000000000893bbf in Glest::Game::Unit::updateTimedParticles (this=0x303a69c0) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/type_instances/unit.cpp:1592
#12 0x0000000000916d41 in Glest::Game::UnitUpdater::updateUnit (this=0x4ab61f8, unit=0x303a69c0) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/world/unit_updater.cpp:137
#13 0x00000000008ff959 in Glest::Game::World::updateAllFactionUnits (this=0x4ab5a08) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/world/world.cpp:416
#14 0x00000000009041b7 in Glest::Game::World::update (this=0x4ab5a08) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/world/world.cpp:501
#15 0x0000000000629bd4 in Glest::Game::Game::update (this=0x4ab59d0) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/game/game.cpp:1167
#16 0x00000000006f2013 in Glest::Game::Program::loopWorker (this=0x3063c20) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/main/program.cpp:382
#17 0x00000000006e8cf3 in Glest::Game::glestMain (argc=<optimized out>, argv=<optimized out>) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/main/main.cpp:3628
#18 0x00000000006eb323 in Glest::Game::glestMainWrapper (argc=1, argv=0x7fff2ffc36e8) at /home/softcoder/Code/megaglest/branches/release-3.6.0.3/source/glest_game/main/main.cpp:3784
#19 0x00007fae2cb3e76d in __libc_start_main (main=0x6eb420 <main(int, char**)>, argc=1, ubp_av=0x7fff2ffc36e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff2ffc36d8) at libc-start.c:226
#20 0x00000000005bffb9 in _start () at ../sysdeps/x86_64/elf/start.S:113

170
As previously reported, there are situations where the masterserver claims that a server has 9 players connected, however there are just 8 player slots. The reson for this issue is currently unknown, as is unknown whether this is already improperly reported by the game client, or whether it's a bug in the masterserver code. The latter seems unlikely to me, though, since the code does not do any calculations there but just passes on what it receives.

There are also issues where game information ends up at the masterserver in different formats or with incorrect values:
  • Sometimes all map/tileset/techtree names start with an upper case character followed by lower case characters, sometimes they are entirely lowercase.
  • While waiting for players, the platform filed has a different values (more specific) than during game, e.g. "GNU64bit-Rev: 3080" while waiting for players and "GNU" during the game.
  • There is this issue about two subversion revisions listed at the same time in the platform field (also on CLI in the --version output), e.g. the platform field of a development server may say GNU64bit-Rev: 3075:3076M in the platform field on the masterserver or SVN: [Rev: 3431:3437] - using STREFLOP [SSE] - [no-denormals] on the --version output.

171
When run on Debian 6.0 i686 (32 bit), the setupBuildDeps.sh considers this system to be "Ubuntu 8.04". It then tries to install, amongst other packages, libluajit-5.1-dev and libvlc-dev. libluajit-5.1-dev is not available on Debian 6.0, making the entire command fail. if you run this apt-get command without luajit-5.1-dev you end up installing libvlc-dev 1.1.3-1squeeze6, which, I believe because MegaGlest expects a different version, breaks the build (cmake works) with:
Code: [Select]
[ 30%] Building CXX object source/shared_lib/CMakeFiles/libmegaglest.dir/sources/graphics/PNGReader.cpp.o 
/home/megaglest/trunk/source/shared_lib/sources/graphics/video_player.cpp: In function 'void Shared::Graphics::callbacks(const libvlc_event_t*, void*)': 
/home/megaglest/trunk/source/shared_lib/sources/graphics/video_player.cpp:314: error: 'libvlc_MediaPlayerVout' was not declared in this scope 
/home/megaglest/trunk/source/shared_lib/sources/graphics/video_player.cpp: In member function 'bool Shared::Graphics::VideoPlayer::initPlayer(std::string)': 
/home/megaglest/trunk/source/shared_lib/sources/graphics/video_player.cpp:765: error: 'libvlc_MediaPlayerVout' was not declared in this scope 
make[2]: *** [source/shared_lib/CMakeFiles/libmegaglest.dir/sources/graphics/video_player.cpp.o] Error 1 
make[2]: *** Waiting for unfinished jobs.... 
make[1]: *** [source/shared_lib/CMakeFiles/libmegaglest.dir/all] Error 2 
make: *** [all] Error 2 
ERROR: MAKE failed. 

I think the real problem with the setupBuildDeps.sh scritpt is that it uses unreliable criteria to map out the system it is run on. It would be better to work more with the 'lsb_release' and 'arch' / 'uname -a' commands, and to develop unique criteria for each supported distribution and version, and, optionally, for readability, to use 'case' instead of 'if ... then ... elif ... fi'.

In case Softcoder agrees with my view then I'd happily offer to rewrite it myself.

172
I just ran into this, I'm not sure when exactly it happened, though...:

Code: [Select]
Found XML Node
Name [start-rotation]
Value []
In [xml_parser.cpp::load Line: 429] about to load [mk/linux/data/core/menu/menu.xml]
In [game.cpp::~Game Line: 315]
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/network/network_manager.cpp::end Line: 62]
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/network/network_manager.cpp::end Line: 71]
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/type_instances/faction.cpp::execute Line: 373] ****************** ENDING worker thread this = 0x6803d70
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/type_instances/faction.cpp::execute Line: 373] ****************** ENDING worker thread this = 0x40716b0
In [game.cpp::~Game Line: 378]
In [~ObjectParticleSystemType Line: 200] NEW [0x3984150]
In [/home/tomreyn/SCM/megaglest-trunk/source/shared_lib/sources/platform/sdl/platform_util.cpp::getStackTrace Line: 186]

Stack Trace:
mk/linux/megaglest:Glest::Game::ObjectParticleSystemType::~ObjectParticleSystemType() address [0x6093e0] line: 203
mk/linux/megaglest:Glest::Game::TilesetModelType::~TilesetModelType() address [0x8945a2] line: 31
mk/linux/megaglest:Glest::Game::ObjectType::~ObjectType() address [0x8841d4] line: 32
mk/linux/megaglest:Glest::Game::Tileset::~Tileset() address [0x8ed3dc] line: 384
mk/linux/megaglest:Glest::Game::World::~World() address [0x9384a5] line: 147
mk/linux/megaglest:Glest::Game::Game::~Game() address [0x5b3b93] line: 314
mk/linux/megaglest:Glest::Game::Game::~Game() address [0x5b41c9] line: 379
mk/linux/megaglest:Glest::Game::BattleEnd::~BattleEnd() address [0x6a3f76] line: 81
mk/linux/megaglest:Glest::Game::BattleEnd::~BattleEnd() address [0x6a4249] line: 93
mk/linux/megaglest:Glest::Game::Program::setState(Glest::Game::ProgramState*, bool) address [0x6aa1e0] line: 541
mk/linux/megaglest:Glest::Game::BattleEnd::mouseDownLeft(int, int) address [0x69daf0] line: 478
mk/linux/megaglest:Glest::Game::MainWindow::eventMouseDown(int, int, Shared::Platform::MouseButton) address [0x66ab24] line: 597
mk/linux/megaglest:Shared::Platform::Window::handleMouseDown(SDL_Event) address [0xa05042] line: 604
mk/linux/megaglest:Shared::Platform::Window::handleEvent() address [0xa06373] line: 153
mk/linux/megaglest:Glest::Game::glestMain(int, char**) address [0x695753] line: 4603
mk/linux/megaglest:Glest::Game::glestMainWrapper(int, char**) address [0x6983f6] line: 4869
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main() address [0x7fcb9ab8f76d] line: 0
mk/linux/megaglest() [0x4f23b9] address [0x4f23b9]

In [~ObjectParticleSystemType Line: 200] NEW [0x3980710]
In [/home/tomreyn/SCM/megaglest-trunk/source/shared_lib/sources/platform/sdl/platform_util.cpp::getStackTrace Line: 186]

Stack Trace:
mk/linux/megaglest:Glest::Game::ObjectParticleSystemType::~ObjectParticleSystemType() address [0x6093e0] line: 203
mk/linux/megaglest:Glest::Game::TilesetModelType::~TilesetModelType() address [0x8945a2] line: 31
mk/linux/megaglest:Glest::Game::ObjectType::~ObjectType() address [0x8841d4] line: 32
mk/linux/megaglest:Glest::Game::Tileset::~Tileset() address [0x8ed3dc] line: 384
mk/linux/megaglest:Glest::Game::World::~World() address [0x9384a5] line: 147
mk/linux/megaglest:Glest::Game::Game::~Game() address [0x5b3b93] line: 314
mk/linux/megaglest:Glest::Game::Game::~Game() address [0x5b41c9] line: 379
mk/linux/megaglest:Glest::Game::BattleEnd::~BattleEnd() address [0x6a3f76] line: 81
mk/linux/megaglest:Glest::Game::BattleEnd::~BattleEnd() address [0x6a4249] line: 93
mk/linux/megaglest:Glest::Game::Program::setState(Glest::Game::ProgramState*, bool) address [0x6aa1e0] line: 541
mk/linux/megaglest:Glest::Game::BattleEnd::mouseDownLeft(int, int) address [0x69daf0] line: 478
mk/linux/megaglest:Glest::Game::MainWindow::eventMouseDown(int, int, Shared::Platform::MouseButton) address [0x66ab24] line: 597
mk/linux/megaglest:Shared::Platform::Window::handleMouseDown(SDL_Event) address [0xa05042] line: 604
mk/linux/megaglest:Shared::Platform::Window::handleEvent() address [0xa06373] line: 153
mk/linux/megaglest:Glest::Game::glestMain(int, char**) address [0x695753] line: 4603
mk/linux/megaglest:Glest::Game::glestMainWrapper(int, char**) address [0x6983f6] line: 4869
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main() address [0x7fcb9ab8f76d] line: 0
mk/linux/megaglest() [0x4f23b9] address [0x4f23b9]

In [~ObjectParticleSystemType Line: 200] NEW [0x3982df0]
In [/home/tomreyn/SCM/megaglest-trunk/source/shared_lib/sources/platform/sdl/platform_util.cpp::getStackTrace Line: 186]

I've also uploaded a copy of the entire verbose output.

173
Coldfusionstorm (client) and I (host) were playing a test game. When it was over, he disconnected. Exactly then I got an on-screen message saying this:

Code: [Select]
[2012-07-07 13:53:36] *ERROR* In [game.cpp::update Line: 1569] Error [In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/commander.cpp::pushNetworkCommand - 517] Command refers to non existent unit id = 1. Game out of synch.
Stack Trace:
mk/linux/megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&) address [0xa0cf26] line: 252
mk/linux/megaglest() [0x56e980] address [0x56e980]
mk/linux/megaglest:Glest::Game::Commander::tryNetworkPlayerDisconnected(int) const address [0x571abc] line: 485
mk/linux/megaglest:Glest::Game::Game::ReplaceDisconnectedNetworkPlayersWithAI(bool, Glest::Game::NetworkRole) address [0x5b0d55] line: 1685
mk/linux/megaglest:Glest::Game::Game::update() address [0x5bcfa9] line: 1282
mk/linux/megaglest:Glest::Game::Program::loopWorker() address [0x6aefd6] line: 433
mk/linux/megaglest:Glest::Game::glestMain(int, char**) address [0x695775] line: 4689
mk/linux/megaglest:Glest::Game::glestMainWrapper(int, char**) address [0x6983f6] line: 4869
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main() address [0x7fbf0079e76d] line: 0
mk/linux/megaglest() [0x4f23b9] address [0x4f23b9]

The game continued to run, I could quit normally using the menus.

174
After deleting my old 'build' directory, I built a fesh copy of 13db9cf today, renamed all my .ini files to *.orig and ran it. Unfortunately I did not get very far: I ended up with a black screen right after starting it up, and a frozen game which would not react to anything (tried Enter, Alt-Enter, Alt-F4, kill -1) but kill -9. It did write a gae-crash.txt file, though:

Code: [Select]
$ cat gae-crash.txt
Crash
Version: Advanced Engine 0.3.93+git_13db9cf 0.3-994-g13db9cf
Built: Fri Jul  6 13:25:42 CEST 2012
Time: Fri Jul  6 17:35:57 2012
Description: SIGSEGV: address not mapped to object
Address: 0x1b85000
Backtrace:
./build/source/game/glestadv(_ZN6Shared8Platform24PlatformExceptionHandler7handlerEiP7siginfoPv+0x1b7) [0x6bcc97]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0) [0x7f696fbc9cb0]
/usr/lib/x86_64-linux-gnu/libtxc_dxtn.so(rgb565_image+0x7d0) [0x7f69656c7e60]
/usr/lib/x86_64-linux-gnu/libtxc_dxtn.so(tx_compress_dxtn+0x329) [0x7f69656c8d29]
/usr/lib/x86_64-linux-gnu/dri/libdricore.so(_mesa_texstore_rgb_dxt1+0xf0) [0x7f6967e25150]
/usr/lib/x86_64-linux-gnu/dri/libdricore.so(+0xe15b0) [0x7f6967e435b0]
/usr/lib/x86_64-linux-gnu/dri/libdricore.so(_mesa_store_teximage2d+0xed) [0x7f6967e438bd]
/usr/lib/x86_64-linux-gnu/dri/libdricore.so(+0xcfd6b) [0x7f6967e31d6b]
/usr/lib/x86_64-linux-gnu/dri/libdricore.so(_mesa_TexImage2D+0x54) [0x7f6967e32364]
./build/source/game/glestadv(_ZN6Shared8Graphics2Gl11Texture2DGl4initENS0_7Texture6FilterEi+0x274) [0x6ad3e4]
./build/source/game/glestadv(_ZN6Shared8Graphics14TextureManager4initEv+0x43) [0x695123]
./build/source/game/glestadv(_ZN5Glest8Graphics8Renderer4initEv+0x255) [0x540a35]
./build/source/game/glestadv(_ZN5Glest7Widgets12WidgetWindowC1Ev+0xfcd) [0x64658d]
./build/source/game/glestadv(_ZN5Glest4Main7ProgramC2ERNS0_7CmdArgsE+0x1c) [0x56c93c]
./build/source/game/glestadv(_ZN5Glest4Main9glestMainEiPPc+0x2d8) [0x5671b8]
./build/source/game/glestadv(main+0x2d) [0x4b55fd]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f696dde876d]
./build/source/game/glestadv() [0x4b8bb1]

=======================

I'm on (K)Ubuntu 12.04, using the default (open source) r300 (radeon) graphics drivers. More hardware details about this 'atibox' can be found in my forum signature below.

175
Unfortunately I'm not entirely sure when and how this happens, but there seem to be cases where, when you start the game with --use-ports=x,y,z, you will end up with a modified glestuser.ini which contains the values you passed as command line parameters. Ideally options you pass as command line parameters should act as one-time modifiers, becoming active temporarily but not permanently. In this case, however, permanent changes (i.e. editing glestuser.ini) seem to take place. To me, that's unexpected behaviour and my gut feeling is this will be so for most if not all other users, too.

It's also a less important issue unless you, you like, use a wrapper/start script to connect MegaGlest to given servers (and given ports) but also host yourself using the same installation/configuration files.

Pages: 1 ... 3 4 5 6 [7] 8 9 10 11 ... 20
anything