Error-Meldungen und Choose-Befehle

52 views
Skip to first unread message

floren...@googlemail.com

unread,
Aug 12, 2013, 9:50:22 AM8/12/13
to uni-kassel-se1-s...@googlegroups.com
Beim Programmieren und Testen haben wir immer wieder das Problem, dass wir auf Grund zu allgemeiner Errormeldungen nicht wissen, was der Server von uns möchte. Beispielsweise bekommt man mitgeteilt, dass man etwas gerade nicht tun kann, obwohl man am Zug ist und dies eigentlich möglich sein sollte. Hintergrund dieser Nachricht ist, dass der Gegenspieler gerade Karten abwerfen muss oder Ähnliches tun muss.

Bei Fortschrittskarten sind die Meldungen auch oft unzutreffend.
Folgende Meldung kommt beispielsweise, wenn es keinen Spieler  gibt, der mehr Siegpunkten hat als man selbst (Karte Hochzeit):
(private)SERVER: ERROR: PLAY - Sorry, but there is no player who has a commodity or resource card.

Wir würden euch bitten alle Fehlermeldungen so eindeutig wie möglich zu Verfassen, damit unsere KI's später genau wissen was los ist.


Bei den Choose-Befehlen würden wir uns auch ein bisschen mehr Klarheit wünschen.
Die Anfrage
{"@ts":"1376312074023","@src":"SERVER","@prop":"USER_MESSAGE","@nv":"OK - choose(ResourceType)"}
kommt beispielsweise in (mind.) zwei Fällen: Durch den Bonus der Städteerweiterung Wissenschaft und einmal durch die Fortschrittskarte Ressourcen Monopol.
Im ersten Fall kann man mit
{"@action":"CHOOSE","properties":{"entry":{"key":"id","value":"GRAIN"}}}
antworten. Im Zweiten Fall bekommt man bei dem Versuch folgende Errormeldung {"@ts":"1376312406331","@src":"SERVER","@prop":"USER_MESSAGE","@nv":"ERROR: This type of card is not supported."}

Zwei mal der selbe Choose-Befehl, aber es werden unterschiedliche Antworten erwartet.

Vielen Dank für euer Verständnis



Andreas Scharf

unread,
Aug 13, 2013, 11:36:54 AM8/13/13
to uni-kassel-se1-s...@googlegroups.com
Hallo,


Am Montag, 12. August 2013 15:50:22 UTC+2 schrieb floren...@googlemail.com:
Beim Programmieren und Testen haben wir immer wieder das Problem, dass wir auf Grund zu allgemeiner Errormeldungen nicht wissen, was der Server von uns möchte. Beispielsweise bekommt man mitgeteilt, dass man etwas gerade nicht tun kann, obwohl man am Zug ist und dies eigentlich möglich sein sollte. Hintergrund dieser Nachricht ist, dass der Gegenspieler gerade Karten abwerfen muss oder Ähnliches tun muss.

Bei Fortschrittskarten sind die Meldungen auch oft unzutreffend.
Folgende Meldung kommt beispielsweise, wenn es keinen Spieler  gibt, der mehr Siegpunkten hat als man selbst (Karte Hochzeit):
(private)SERVER: ERROR: PLAY - Sorry, but there is no player who has a commodity or resource card.

Wir haben eine zusätzliche Nachricht eingefügt, die diese beiden Fälle deutlicher voneinander unterscheidet. Sie wird aber Server Version 1.3.4 versendet!
 

Wir würden euch bitten alle Fehlermeldungen so eindeutig wie möglich zu Verfassen, damit unsere KI's später genau wissen was los ist.


Bei den Choose-Befehlen würden wir uns auch ein bisschen mehr Klarheit wünschen.
Die Anfrage
{"@ts":"1376312074023","@src":"SERVER","@prop":"USER_MESSAGE","@nv":"OK - choose(ResourceType)"}
kommt beispielsweise in (mind.) zwei Fällen: Durch den Bonus der Städteerweiterung Wissenschaft und einmal durch die Fortschrittskarte Ressourcen Monopol.
Im ersten Fall kann man mit
{"@action":"CHOOSE","properties":{"entry":{"key":"id","value":"GRAIN"}}}
antworten. Im Zweiten Fall bekommt man bei dem Versuch folgende Errormeldung {"@ts":"1376312406331","@src":"SERVER","@prop":"USER_MESSAGE","@nv":"ERROR: This type of card is not supported."}

Zwei mal der selbe Choose-Befehl, aber es werden unterschiedliche Antworten erwartet.

Dieses Szenario kann ich leider nicht nachvollziehen. In beiden Fällen wird ein Wert vom Typ [BRICK,GRAIN,LUMBER,ORE,WOOL] erwartet. Habt ihr vielleicht tatsächlich einen anderen Wert gesendet? Hier wäre ein Logauszug sinnvoll.
 

Vielen Dank für euer Verständnis




Was die genaueren Fehlermeldungen angeht: Wir versuchen an den meisten Stellen bereits so genau wie möglich zu sein. Gibt es eine bestimmte Stelle, die eindeutiger sein könnte, würden wir euch bitten und dies hier in der Google Gruppe mitzuteilen. Wir bauen dann ggf. weitere/genauere Nachrichten ein.

Gruß,
Andreas 

floren...@googlemail.com

unread,
Aug 13, 2013, 1:05:56 PM8/13/13
to uni-kassel-se1-s...@googlegroups.com
Gut wir werden alle Entwickler darauf Hinweisen die Fälle genauer zu dokumentieren und dann hier in das Thema einzustellen.
Vielleicht beteiligen sich auch noch ein paar andere Teams an dieser Diskussion.

Wegen des Typ [BRICK,GRAIN,LUMBER,ORE,WOOL] -Problems wird der Entsprechende Entwickler nochmal einen Auszug aus dem JsonProtokoll hier posten

Gruß Team-E

ae...@fettabernett.de

unread,
Aug 13, 2013, 1:25:11 PM8/13/13
to uni-kassel-se1-s...@googlegroups.com
Ich habe eine Stadt auf Stufe 3 in SCIENCE ausgebaut. Durch würfeln werde ich ich zum wählen einer Resource Karte aufgefordert. Dies klappt:
{"@ts":"1376411828845","@src":"SERVER","@prop":"USER_MESSAGE","@nv":"OK - choose(ResourceType)"}
{"@action":"CHOOSE","properties":{"entry":{"key":"id","value":"LUMBER"}}}

Ich spiele die Karte Resource Monopoly. Ich soll eine Resource wählen. Ein Error erscheint:
{"@ts":"1376411874129","@src":"SERVER","@prop":"USER_MESSAGE","@nv":"OK - choose(ResourceType)"}
{"@action":"CHOOSE","properties":{"entry":{"key":"id","value":"WOOL"}}}
{"@ts":"1376411880178","@src":"SERVER","@prop":"USER_MESSAGE","@nv":"ERROR: This type of card is not supported."}

Mit freundlichen Grüßen

Team-E

floren...@googlemail.com

unread,
Aug 13, 2013, 2:42:02 PM8/13/13
to uni-kassel-se1-s...@googlegroups.com
Bei ProgressCards die eine Auswahl des Gegenspielers erfordern, wird dem Gegenspieler nicht mitgeteilt, warum er etwas auszuwählen hat.
Am Beispiel Deserter-ProgressCard: Es wird lediglich gesagt, dass er ( der Gegenspieler) eine Intersection wählen soll. Das er damit einen Ritter wählt, den er anschließend verliert, wird nicht gesagt.

{"@ts":"1376416490616","@src":"SERVER","@prop":"USER_MESSAGE","@nv":"OK - choose(Intersection)"}

Es wäre sehr nett, wenn sie in diesem Atemzug alle Progresscards auf solche Fälle prüft.

Vielen Dank!
Gruß Team-E

Andreas Scharf

unread,
Aug 14, 2013, 4:46:52 AM8/14/13
to uni-kassel-se1-s...@googlegroups.com
Hi,

ich habe für dieses Szenario einen zusätzlichen Test auf dem Server geschrieben, der ohne Probleme durchläuft. An dieser Stelle benötigen wir einen Auszug aus dem Log, der den vorherigen Spielverlauf enthält. 

Gruß,
Andreas

Andreas Scharf

unread,
Aug 14, 2013, 4:48:25 AM8/14/13
to uni-kassel-se1-s...@googlegroups.com
Hi,

ich bin alle ProgressCards nochmal durchgegangen, und habe an den entsprechenden Stellen die Nachrichten erweitert. Betroffen sind die Karten:

- Deserter
- Intrigue
- Saboteur
- Wedding
- Commercial Harbor

Falls zusätzliche Nachrichten an einer anderen Stelle noch hilfreich wären, bitte Bescheid geben.

Gruß,
Andreas

ae...@fettabernett.de

unread,
Aug 14, 2013, 7:40:10 AM8/14/13
to uni-kassel-se1-s...@googlegroups.com
Ich starte das Spiel mit 2 Spielern und spiele direkt die Karte Resource Monopoly.
Mein Antwort Befehl war
{"@action":"CHOOSE","properties":{"entry":{"key":"id","value":"BRICK"}}}
Serverlog im Anhang.
tempUser147.txt

Andreas Scharf

unread,
Aug 14, 2013, 8:08:04 AM8/14/13
to uni-kassel-se1-s...@googlegroups.com
Hallo,

ich habe den Fehler gefunden: Der Server erwartet beim Ausspielen der Karte ResourceMonopoly den key 'type' statt 'id'. Aus Kompatibilitätsgründen, ist ab Serverversion 1.3.4 sowohl 'type' als auch 'id' erlaubt!

Gruß,
Andreas

floren...@googlemail.com

unread,
Aug 14, 2013, 9:17:28 AM8/14/13
to uni-kassel-se1-s...@googlegroups.com
Danke für die Änderungsmaßnahmen!

Einen weiteren Änderungswunsch wegen unklarer Servermitteilungen hat ein Developer aus unserem Team geäußert:
Wenn ein anderer Spieler gerade eine Aktion durchführen muss und der Spielverlauf in der Zeit nicht fortgeführt werden kann (Beispiel 7 gewürfelt->Karten abwerfen), dann bekommt der Current-Player lediglich mitgeteilt:

{"@ts":"1376483654727","@src":"SERVER","@prop":"USER_MESSAGE","@nv":"ERROR: This command is not allowed here."}

Die Fehlermeldung ist an der Stelle irreführend, da der Befehl erlaubt ist. Es muss nur gewartet werden bis der andere Spieler seine Aktion beendet hat.

Mit freundlichen Grüßen
Team-E

Andreas Scharf

unread,
Aug 14, 2013, 9:59:11 AM8/14/13
to uni-kassel-se1-s...@googlegroups.com
Hi,

da der Server eine relativ große Zustandsmaschine betreibt, wäre es sehr aufwendig an allen Stellen feingranularere Fehlermeldungen diesbzgl. einzubauen. Falls wir die Tage ein wenig Luft haben, nehmen wir uns dem Problem an. Versprechen kann ich allerdings nichts.

Gruß,
Andreas
Reply all
Reply to author
Forward
0 new messages