• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

REPORT ALL 0.2 BUGS HERE (latest 0.2 svn)!

Status
Not open for further replies.
TFS, tags/0.2 ;P
Contact@GG? :)


EDIT:
Code:
g++ -I. -O2 -I/usr/include/libxml2 -I/usr/include/lua5.1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -Werror -O1 -c game.cpp
game.cpp: In member function 'bool Game::playerCloseRuleViolation(uint32_t, const std::string&)':
game.cpp:1946: error: no match for 'operator=' in 'it = 0'
/usr/include/c++/4.2/bits/stl_tree.h:153: note: candidates are: std::_Rb_tree_iterator<std::pair<const unsigned int, RuleViolation> >& std::_Rb_tree_iterator<std::pair<const unsigned int, RuleViolation> >::operator=(const std::_Rb_tree_iterator<std::pair<const unsigned int, RuleViolation> >&)
make: *** [game.o] Błąd 1
Change:
Code:
for(RuleViolationsMap::iterator it = ruleViolations.begin(); it != ruleViolations.end(); ++it)
to:
Code:
	RuleViolationsMap::iterator it = ruleViolations.begin();
	for( ; it != ruleViolations.end(); ++it)
and remove it = NULL.
Tested and works.
 
Last edited:
Hihi, I tested this a few times, sometimes when you have an item that you can equip with one minute left, when you equip it the server crashes. This happens very rarely but when it does happen, you don't know whos item it is so you can't fix it >.>.

The crash report is:


#0 0xb7908a0f in free () from /lib/tls/i686/cmov/libc.so.6
#1 0xb790a9ef in malloc () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7ab5908 in operator new () from /usr/lib/libstdc++.so.6
#3 0x08085f95 in Condition::createCondition ()
#4 0x0811cecd in MoveEvent::EquipItem ()
#5 0x0811d721 in MoveEvent::fireEquip ()
#6 0x0811d77a in MoveEvents::eek:nPlayerEquip ()
#7 0x08134b2e in Player::postAddNotification ()
#8 0x080a7b2a in Game::transformItem ()
#9 0x0811cdbd in MoveEvent::EquipItem ()
#10 0x0811d721 in MoveEvent::fireEquip ()
#11 0x0811d77a in MoveEvents::eek:nPlayerEquip ()
#12 0x08134b2e in Player::postAddNotification ()
#13 0x080a7b2a in Game::transformItem ()
#14 0x0811cba5 in MoveEvent::DeEquipItem ()
#15 0x0811d721 in MoveEvent::fireEquip ()
#16 0x0811d77a in MoveEvents::eek:nPlayerEquip ()
#17 0x0813497a in Player::postRemoveNotification ()
#18 0x080a7a71 in Game::transformItem ()
#19 0x080a7d3c in Game::internalDecayItem ()
#20 0x080a7e5d in Game::startDecay ()

I haven't modified any of the items.xml.

I'm using the latest TFS rev (tags 0.2).
 
TFS, tags/0.2 ;P
Contact@GG? :)


EDIT:
Code:
g++ -I. -O2 -I/usr/include/libxml2 -I/usr/include/lua5.1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -Werror -O1 -c game.cpp
game.cpp: In member function 'bool Game::playerCloseRuleViolation(uint32_t, const std::string&)':
game.cpp:1946: error: no match for 'operator=' in 'it = 0'
/usr/include/c++/4.2/bits/stl_tree.h:153: note: candidates are: std::_Rb_tree_iterator<std::pair<const unsigned int, RuleViolation> >& std::_Rb_tree_iterator<std::pair<const unsigned int, RuleViolation> >::operator=(const std::_Rb_tree_iterator<std::pair<const unsigned int, RuleViolation> >&)
make: *** [game.o] Błąd 1
Change:
Code:
for(RuleViolationsMap::iterator it = ruleViolations.begin(); it != ruleViolations.end(); ++it)
to:
Code:
	RuleViolationsMap::iterator it = ruleViolations.begin();
	for( ; it != ruleViolations.end(); ++it)
and remove it = NULL.
Tested and works.


After this I may compile, but when I'm opening Rule Violations channel, server crashes.
Any solution? :p
 
hey tala, if you clear this thread we can use easier...

and... when I reported a Rule Violation and the GM processed my Report it is ok... but when he talk with me, and I answer him, appear Message sent to GM's name. It should be Menssage sent to Gamemaster, and when the GM answer me, appear menssage sent to Gamemaser, it should be Menssage sent to Player's name. when you fix it pls QUOTE me...

Thank you.
 
Last edited:
I was running a "test server" using the tfs 2.10 tags, server crashed 2 times in 2 hours with just 6 players, I compile with debug parameter after first crash and i got it:


*****************************************************
Error report - Sun Mar 16 21:11:19 2008

Compiler info - gcc 3.4.2 (mingw-special)
Compilation Date - Mar 16 2008 20:07:50

Memory load: 43
Total phys: 1572396 K available phys: 883656 K
Start time: 16-3-2008 23:13:48
Kernel time: 0:0:5.718
User time: 0:3:56.484
Threads: 4

Exception: 0xc0000005 at eip = 0x45432e(Game::playerMoveItem(unsigned int, Position const&, unsigned short, unsigned char, Position const&, unsigned char) - 0x4541e8)
eax = 0
ebx = 0x1
ecx = 0x6
edx = 0x94efaf8 -> 0
esi = 0x167f74f0 -> 0x20b
edi = 0x2
ebp = 0x94efdb0 -> 0x94efde0
esp = 0x94efb98 -> 0x6cbfb0
efl = 0x10202

---Stack Trace---
From: 0x94efb98 to: 0x94f0000
0x94efb98 | 0x6cbfb0 -> 0
0x94efb9c | 0x182d040 -> 0x6c7e5c
0x94efba0 | 0x167f74e0 -> 0x20b
0x94efba4 | 0x2
0x94efba8 | 0xc9d
0x94efbac | 0x1
0x94efbb0 | 0x18c51c28 -> 0xfcc30038
0x94efbb4 | 0x3a
0x94efbb8 | 0x94efd00 -> 0x191dae0
0x94efbbc | 0x18c51c28 -> 0xfcc30038
0x94efbc0 | 0x94efc34 -> 0x191dbe8
0x94efbc4 | 0xffffffff
0x94efbc8 | 0
0x94efbcc | 0
0x94efbd0 | 0x43a33c -> 0x83e58955
0x94efbd0 Connection::eek:nWriteOperation(OutputMessage*, boost::system::error_code const&)(0x43a33c)
0x94efbd4 | 0
0x94efbd8 | 0x585a40 -> 0x8de58955
0x94efbdc | 0x6982e3 -> 0x201ffff
0x94efbe0 | 0x94efbf0 -> 0
0x94efbe4 | 0x5a5e14 -> 0x9090c3c9
0x94efbe8 | 0x94efd30 -> 0x236dfd8
0x94efbec | 0x94efbfc -> 0x94efcc8
0x94efbf0 | 0
0x94efbf4 | 0x7c9105c8 -> 0x5d5e01b0
0x94efc88 Game::playerMoveItem(unsigned int, Position const&, unsigned short, unsigned char, Position const&, unsigned char)(0x4541e8)
0x94efd8c | 0x5ee0fc8 -> 0x6c7ab4
0x94efd90 | 0x182d040 -> 0x6c7e5c
0x94efd94 | 0xc9d0201
0x94efd98 | 0x94efdb0 -> 0x94efde0
0x94efd9c | 0x633c726f
0x94efda0 | 0x94efdd0 -> 0x1
0x94efda4 | 0x1
0x94efda8 | 0x167f74f0 -> 0x20b
0x94efdac | 0x2
0x94efdb0 | 0x94efde0 -> 0x94efe30 \\\\\\ stack frame //////
0x94efdb4 | 0x60179d -> 0xc9c0b60f <-- ret
0x94efdb8 | 0x6cbfb0 -> 0
0x94efdbc | 0x10001728 -> 0x5ec0335f
0x94efdc0 | 0x167f74e0 -> 0x20b
0x94efdc4 | 0xc9d
0x94efdc8 | 0x2
0x94efdcc | 0x167f74f0 -> 0x20b
0x94efdd0 | 0x1
0x94efdd4 | 0x6004fd -> 0x5590c3c9
0x94efdd8 | 0x4541e8 -> 0x57e58955
0x94efdd8 Game::playerMoveItem(unsigned int, Position const&, unsigned short, unsigned char, Position const&, unsigned char)(0x4541e8)
0x94efddc | 0xc9d0201
0x94efde0 | 0x94efe30 -> 0x94efe50 \\\\\\ stack frame //////
0x94efde4 | 0x5a9905 -> 0x83c0b60f <-- ret
0x94efde8 | 0x167f74d0 -> 0x4541e8
0x94efdec | 0x6cbfb0 -> 0
0x94efdf0 | 0x10001728 -> 0x5ec0335f
0x94efdf4 | 0x167f74e0 -> 0x20b
0x94efdf8 | 0xc9d
0x94efdfc | 0x2
0x94efe00 | 0x167f74f0 -> 0x20b
0x94efe04 | 0x1
0x94efe0c | 0x3
0x94efe10 | 0x94efd6c -> 0x633c726f
0x94efe14 | 0x167f74d8 -> 0x6cbfb0
0x94efe18 | 0x167f74dc -> 0x10001728
0x94efe1c | 0x167f74e0 -> 0x20b
0x94efe20 | 0xc9d
0x94efe24 | 0x191dbe8 -> 0
0x94efe28 | 0x191dae0 -> 0xf50
0x94efe2c | 0x633c726f
0x94efe30 | 0x94efe50 -> 0x94efe60 \\\\\\ stack frame //////
0x94efe34 | 0x5ab27e -> 0xc9c0b60f <-- ret
0x94efe38 | 0x167f74d8 -> 0x6cbfb0
0x94efe3c | 0x633c7200
0x94efe40 | 0x167f74d0 -> 0x4541e8
0x94efe44 | 0x94efe4f -> 0x4efe6009
0x94efe48 | 0
0x94efe4c | 0x94efebc -> 0x28f40d0
0x94efe50 | 0x94efe60 -> 0x94efee0 \\\\\\ stack frame //////
0x94efe54 | 0x5d4121 -> 0x5590c3c9 <-- ret
0x94efe58 | 0x167f74d0 -> 0x4541e8
0x94efe5c | 0x167f74d0 -> 0x4541e8
0x94efe60 | 0x94efee0 -> 0x94efef0 \\\\\\ stack frame //////
0x94efe64 | 0x602d7d -> 0x89a4458d <-- ret
0x94efe68 | 0x2e90624 -> 0x167f74d0
0x94efe6c | 0xffffffff
0x94efe70 | 0x77c0c2e3 -> 0xccccccc3
0x94efe74 | 0x586125 -> 0x9090c3c9
0x94efe78 | 0x28f40d0 -> 0x2e8ae18
0x94efe7c | 0x633c726f
0x94efe80 | 0x94efe90 -> 0x94efeb0
0x94efe84 | 0x12bfe88 -> 0
0x94efebc | 0x28f40d0 -> 0x2e8ae18
0x94efec0 | 0xba136ae9
0x94efec4 | 0x118
0x94efec8 | 0x47ddb725
0x94efecc | 0xb40261 -> 0x90000200
0x94efed0 | 0x94e0000
0x94efed4 | 0x191dbe8 -> 0
0x94efed8 | 0x191dae0 -> 0xf50
0x94efedc | 0x633c726f
0x94efee0 | 0x94efef0 -> 0x94eff80 \\\\\\ stack frame //////
0x94efee4 | 0x5a0911 -> 0x5590c3c9 <-- ret
0x94efee8 | 0x2e90620 -> 0x6a066c
0x94efeec | 0x191dbe8 -> 0
0x94efef0 | 0x94eff80 -> 0x94effb4 \\\\\\ stack frame //////
0x94efef4 | 0x51eb4e -> 0x89d4458b <-- ret
0x94efef4 Dispatcher::dispatcherThread(void*)(0x51ea08)
0x94efef8 | 0x2e90620 -> 0x6a066c
0x94efefc | 0x6a0420 -> 0x269568
0x94eff00 | 0x30000 -> 0xc8
0x94eff04 | 0xffdff120
0x94eff08 | 0xffdff538
0x94eff0c | 0xb5413ca4
0x94eff10 | 0x246
0x94eff14 | 0x8054498b
0x94eff44 Dispatcher::dispatcherThread(void*)(0x51ea08)
0x94eff5c | 0x94effa4 -> 0x94effdc
0x94eff60 | 0x44c4e6 -> 0x57e58955
0x94eff60 _SEHHandler(_EXCEPTION_RECORD*, void*, _CONTEXT*, void*)(0x44c4e6)
0x94eff64 | 0x804fec26
0x94eff68 | 0x94eff4c -> 0x633c726f
0x94eff6c | 0x87e5b3ec
0x94eff70 | 0x94effa4 -> 0x94effdc
0x94eff74 | 0x191dbe8 -> 0
0x94eff78 | 0x191dae0 -> 0xf50
0x94eff7c | 0x633c726f
0x94eff80 | 0x94effb4 -> 0x94effec \\\\\\ stack frame //////
0x94eff84 | 0x77c1a243 -> 0xff4be859 <-- ret
0x94eff88 | 0
0x94eff8c | 0x633c726f
0x94eff90 | 0x20726168
0x94eff94 | 0x191dbe8 -> 0
0x94eff98 | 0
0x94eff9c | 0x94eff8c -> 0x633c726f
0x94effa0 | 0
0x94effa4 | 0x94effdc -> 0xffffffff
0x94effa8 | 0x77c15c94 -> 0x83ec8b55
0x94effac | 0x77bf40c8 -> 0xffffffff
0x94effb0 | 0
0x94effb4 | 0x94effec -> 0 \\\\\\ stack frame //////
0x94effb8 | 0x7c80b50b -> 0x1798e850 <-- ret
0x94effbc | 0x191dbe8 -> 0
0x94effc0 | 0x633c726f
0x94effc4 | 0x20726168
0x94effc8 | 0x191dbe8 -> 0
0x94effcc | 0x7ffdb000 -> 0x94ef7dc
0x94effd0 | 0x89a37600
0x94effd4 | 0x94effc0 -> 0x633c726f
0x94effd8 | 0x87fa0e40
0x94effdc | 0xffffffff
0x94effe0 | 0x7c8399f3 -> 0x83ec8b55
0x94effe4 | 0x7c80b518 -> 0xffffffff
0x94effe8 | 0
0x94effec | 0 \\\\\\ stack frame //////
0x94efff0 | 0 <-- ret
0x94efff4 | 0x77c1a1d7 -> 0xc8680c6a
0x94efff8 | 0x191dbe8 -> 0
0x94efffc | 0
*****************************************************
 
hey tala, if you clear this thread we can use easier...

and... when I reported a Rule Violation and the GM processed my Report it is ok... but when he talk with me, and I answer him, appear Message sent to GM's name. It should be Menssage sent to Gamemaster, and when the GM answer me, appear menssage sent to Gamemaser, it should be Menssage sent to Player's name. when you fix it pls QUOTE me...
and all talkread flag doesn't work...

Thank you.
 
hey tala, if you clear this thread we can use easier...

and... when I reported a Rule Violation and the GM processed my Report it is ok... but when he talk with me, and I answer him, appear Message sent to GM's name. It should be Menssage sent to Gamemaster, and when the GM answer me, appear menssage sent to Gamemaser, it should be Menssage sent to Player's name. when you fix it pls QUOTE me...
and all talkread flag doesn't work...

Thank you.
You've already wrote this... Could you be a little more patient?

Btw. That issue with IOBan of adding a note and later ban, really needs to get fixed. I had today 4 crashes 'Cause of this.
Also, as I've previously reported, when RVR channel is empty, it gets crashed. If I am only who has this, then I'll reproduce it and posst crash log... if someone tell me how to get it :D
 
@up

Yes, this is the fix that I'm talking about, simone already added it to avesta (2 days ago).

#edit

more optimizations (20:34 GMT-3):

* Improved the path-finding logic.
 
Last edited:
Well.. I've used TFS for 1 week straight and it has been awsome, no restarts, no bugs etc.

But 2 days ago there started coming real wierd bugs, first server gives me this message (in console)

Code:
Error: [Server::onAccept] More than 100 listen errors.

And after that it's not possible to login. The players who is logged in can keep playing but noone else can login, the website also shows offline status.

So I'll have to close the server and re-open :/

Hope you can tell me what to do.

Rabbe~
 
Status
Not open for further replies.
Back
Top