URL:
  <http://gna.org/bugs/?22328>

                 Summary: controllers can be corrupted in mp connect when
reloading a game
                 Project: Battle for Wesnoth
            Submitted by: involution
            Submitted on: Sun 13 Jul 2014 03:18:51 PM UTC
                Category: Bug
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group:  None of the others
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 1.11.16
        Operating System: Linux Mint 16

    _______________________________________________________

Details:

If one reloads scenario 1 of LoW played with an ally, all of the AI sides are
converted to host-controlled human sides.

Originally reported on forums
http://forums.wesnoth.org/viewtopic.php?f=4&t=40658&start=15#p573194

This bug seems tricky to reproduce, I cannot consistently reproduce it,
although I got it to reproduce twice in a row when I began. 

The corruption happens somewhere in mp connect / mp connect engine, before the
host clicks the "start game" button, just after player two joins.

Judging from the log, it might have to do with "force lock settings" being
removed for some reason? I have no idea why that would affect a reloaded
game.

=== Host Console Log ===

20140713 11:02:21 debug network: RECEIVED from: 1: faction = random
gender = random
leader = random
name = iceiceice2
side = 1
20140713 11:02:21 debug mp/connect/engine: not all sides are ready, side 1 not
ready
20140713 11:02:21 debug mp/connect/engine: updating level
20140713 11:02:21 debug network: in send_data()...
20140713 11:02:21 debug network: sockets: 1
20140713 11:02:21 debug network: server socket: 0
current socket: 1
20140713 11:02:21 debug network: in send_data()...
20140713 11:02:21 info network: SENDING to: 1: [scenario_diff]
        [delete]
                force_lock_settings = x
        [/delete]
        [change_child]
                index = 0
                [side]
                        [insert]
                                controller = network
                                name = iceiceice2
                                player_id = iceiceice21
                                user_description = iceiceice2
                        [/insert]
                        [delete]
                                default_recruit = x
                                fog_data = x
                                recruit = x
                                shroud_data = x
                        [/delete]
                [/side]
        [/change_child]
        [change_child]
                index = 1
                [side]
                        [insert]
                                controller = network
                                current_player = iceiceice2
                                name = iceiceice2
                                player_id = iceiceice22
                                user_description = iceiceice2
                        [/insert]
                        [delete]
                                fog_data = x
                                shroud_data = x
                        [/delete]
                [/side]
        [/change_child]
        [change_child]
                index = 2
                [side]
                        [insert]
                                controller = network
                                current_player = iceiceice2
                                name = iceiceice2
                                player_id = iceiceice23
                                user_description = iceiceice2
                        [/insert]
                        [delete]
                                fog_data = x
                                shroud_data = x
                        [/delete]
                [/side]
        [/change_child]
        [change_child]
                index = 3
                [side]
                        [insert]
                                controller = network
                                current_player = iceiceice2
                                name = iceiceice2
                                player_id = iceiceice24
                                user_description = iceiceice2
                        [/insert]
                        [delete]
                                fog_data = x
                                shroud_data = x
                        [/delete]
                [/side]
        [/change_child]
        [change_child]
                index = 4
                [side]
                        [insert]
                                controller = network
                                current_player = iceiceice2
                                name = iceiceice2
                                player_id = iceiceice25
                                user_description = iceiceice2
                        [/insert]
                        [delete]
                                fog_data = x
                                shroud_data = x
                        [/delete]
                [/side]
        [/change_child]
        [change_child]
                index = 5
                [side]
                        [insert]
                                controller = network
                                current_player = iceiceice2
                                name = iceiceice2
                                player_id = iceiceice26
                                user_description = iceiceice2
                        [/insert]
                        [delete]
                                fog_data = x
                                shroud_data = x
                        [/delete]
                [/side]
        [/change_child]
        [change_child]
                index = 6
                [side]
                        [insert]
                                controller = network
                                name = iceiceice2
                                player_id = iceiceice27
                                user_description = iceiceice2
                        [/insert]
                        [delete]
                                default_recruit = x
                                fog_data = x
                                recruit = x
                                shroud_data = x
                        [/delete]
                [/side]
        [/change_child]
[/scenario_diff]
20140713 11:02:21 debug network: queuing data...
20140713 11:02:21 debug network: thread found a buffer...
20140713 11:02:21 info mp/connect/engine: waiting to choose status = 0
20140713 11:02:21 info network: sent player data
20140713 11:02:21 debug mp/connect/engine: all sides are ready
20140713 11:02:21 debug mp/connect/engine: all sides are ready
20140713 11:02:21 debug mp/connect/engine: all sides are ready
20140713 11:02:21 debug network: thread found a buffer...
20140713 11:02:21 debug network: RECEIVED from: 1: [message]
        message = iceiceice2 has joined the game.
        sender = server
[/message]
20140713 11:02:21 debug mp/connect/engine: all sides are ready
20140713 11:02:21 debug mp/connect/engine: all sides are ready
20140713 11:02:21 debug mp/connect/engine: all sides are ready
20140713 11:02:21 debug network: thread found a buffer...
20140713 11:02:21 debug network: RECEIVED from: 1: [gamelist]
[/gamelist]
[user]
        name = iceiceice
[/user]
[user]
        name = iceiceice2
[/user]
20140713 11:02:21 debug mp/connect/engine: all sides are ready





    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?22328>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
Wesnoth-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-bugs

Reply via email to