{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;} {\f16\froman\fcharset238\fprq2 Times New Roman CE;}{\f17\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f19\froman\fcharset161\fprq2 Times New Roman Greek;}{\f20\froman\fcharset162\fprq2 Times New Roman Tur;} {\f21\froman\fcharset186\fprq2 Times New Roman Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255; \red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\widctlpar\adjustright \fs20\lang2057\cgrid \snext0 Normal;}{\s1\keepn\widctlpar\adjustright \b\fs20\ul\lang2057\cgrid \sbasedon0 \snext0 heading 1;}{\*\cs10 \additive Default Paragraph Font;}{\s15\qc\widctlpar\adjustright \b\fs36\ul\lang2057\cgrid \sbasedon0 \snext15 Title;}}{\*\listtable {\list\listtemplateid724727876\listsimple{\listlevel\levelnfc23\leveljc0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01-;}{\levelnumbers;}\fbias0 \fi-360\li360\jclisttab\tx360 }{\listname ;}\listid146408715} {\list\listtemplateid134807569\listsimple{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00);}{\levelnumbers\'01;}\fi-360\li360\jclisttab\tx360 }{\listname ;}\listid266814439} {\list\listtemplateid134807567\listsimple{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fbias0 \fi-360\li360\jclisttab\tx360 }{\listname ;}\listid390153776} {\list\listtemplateid134807553\listsimple{\listlevel\levelnfc23\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li360\jclisttab\tx360 }{\listname ;}\listid617878849} {\list\listtemplateid134807553\listsimple{\listlevel\levelnfc23\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li360\jclisttab\tx360 }{\listname ;}\listid1040860857} {\list\listtemplateid134807553\listsimple{\listlevel\levelnfc23\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li360\jclisttab\tx360 }{\listname ;}\listid1135442815} {\list\listtemplateid134807567\listsimple{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fi-360\li360\jclisttab\tx360 }{\listname ;}\listid1226642782} {\list\listtemplateid134807569\listsimple{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00);}{\levelnumbers\'01;}\fbias0 \fi-360\li360\jclisttab\tx360 }{\listname ;}\listid1310745948} {\list\listtemplateid134807569\listsimple{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00);}{\levelnumbers\'01;}\fi-360\li360\jclisttab\tx360 }{\listname ;}\listid1792360912}}{\*\listoverridetable {\listoverride\listid390153776\listoverridecount0\ls1}{\listoverride\listid1135442815\listoverridecount0\ls2}{\listoverride\listid146408715\listoverridecount0\ls3}{\listoverride\listid617878849\listoverridecount0\ls4}{\listoverride\listid1310745948 \listoverridecount0\ls5}{\listoverride\listid1226642782\listoverridecount0\ls6}{\listoverride\listid1792360912\listoverridecount0\ls7}{\listoverride\listid266814439\listoverridecount0\ls8}{\listoverride\listid1040860857\listoverridecount0\ls9}}{\info {\title The Diplomacy AI Centralisation Project}{\author David Norman}{\operator David Norman}{\creatim\yr2002\mo2\dy27\hr23\min38}{\revtim\yr2002\mo2\dy27\hr23\min38}{\version2}{\edmins0}{\nofpages1}{\nofwords1910}{\nofchars10890}{\*\company } {\nofcharsws13373}{\vern113}}\paperw11906\paperh16838\margl720\margr720\margt1080\margb1080 \widowctrl\ftnbj\aenddoc\formshade\viewkind4\viewscale100\pgbrdrhead\pgbrdrfoot \fet0\sectd \linex0\headery706\footery706\colsx709\endnhere\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5 \pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \s15\qc\widctlpar\adjustright \b\fs36\ul\lang2057\cgrid {The Diplomacy AI Centralisation Project \par }\pard\plain \widctlpar\adjustright \fs20\lang2057\cgrid { \par }{\b\fs28\ul 1. Introduction \par \par }{In recent years, a number of people have attempted to write a Diplomacy AI \endash A computer program which can play the board-game Diplomacy. More well known ones include : \par \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls4\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls4\adjustright {The Diplomacy Computer Game f or DOS. Released in the 1980\rquote s, a DOS program which would play No-press Diplomacy. A poor AI made it easy to beat. \par }\pard \widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\adjustright { \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls4\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls4\adjustright { The DPP, or Diplomacy Programming Project, by Daniel Loeb, from the early to mid 1990\rquote s. Danny\rquote s approach was to firstly work out the theory of multi-player games, for which he and several other people were awarded PhD\rquote s for their work, and then to put this theory into practice in order to write a Diplomacy AI. It played several no-press Judge games, and managed to achieve a three-way draw in one of them. \par }\pard \widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\adjustright { \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls4\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls4\adjustright { SeaNail, by Sean Lorber. Written in Visual Basic, SeaNail has played in a small number of Judge games, but has never achieved a successful result. \par }\pard \widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\adjustright { \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls4\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls4\adjustright { The Hasbro Diplomacy Game, written by Microprose, and released in 2000. Commonly acknowledged to be a very poor product, it has difficulty working out simple problems such as how England can take Norway in 1901 (and for the Hasbro AI\rquote s benefit, the answer isn\rquote t to open to NWG and NTH, and then order both of these units to move to Nwy). \par }\pard \widctlpar\adjustright { \par However, so mething that has not previously been done, is to attempt to set up an environment where AIs can easily compete against each other without human help, or compete against a number of humans without an extra human to look after the AIs. That is what this pro ject sets out to achieve. \par \par }{\b\fs28\ul 2. Overview of the Architecture}{\fs28 \par \par }{The Diplomacy AI Centralisation Project is broken down into a number of modules. \par \par }\pard\plain \s1\keepn\widctlpar\outlinelevel0\adjustright \b\fs20\ul\lang2057\cgrid {The Server \par }\pard\plain \widctlpar\adjustright \fs20\lang2057\cgrid { \par At the centre of the system is the Server. This runs the game, and provides the central point of contact, which all the other modules communicate with. All lines of communication are between the Server and one of the types of Client. \par \par When the Server is running, it can handle one game only. However, it is possible to run multiple Servers on the same machine, so that multiple games can be run. \par \par The server is not expected to be running 24/7. It is started up when a game is to be started, and closed down at the end of the game. \par \par }\pard\plain \s1\keepn\widctlpar\outlinelevel0\adjustright \b\fs20\ul\lang2057\cgrid {The Observer \par }\pard\plain \widctlpar\adjustright \fs20\lang2057\cgrid { \par The Observer Module connects to the Server. It is told of changes of state of the game (e.g. turns processing), and can ask for information about the current position and historical turns. However, it can not have any affect on the game. \par \par Observer Modules can be written to perform a number of tasks, including providing an up-to-date on-screen map, or uploading the game to a web page for publication. \par \par }\pard\plain \s1\keepn\widctlpar\outlinelevel0\adjustright \b\fs20\ul\lang2057\cgrid {The AI}{\b0\ulnone \par }\pard\plain \widctlpar\adjustright \fs20\lang2057\cgrid {\line Each AI Module controls one power. It connects to the server, which then assigns the AI its power when the game starts. The AI then decides on the press to send, and the moves to submit, and reacts to press coming in from other AIs. \par \par The same AI may be running multiple times, each instance playing one power. It could even be that the same AI is playing all seven powers from seven different instances. Or it could be that seven different AIs are playing the seven powers. \par \par }\pard\plain \s1\keepn\widctlpar\outlinelevel0\adjustright \b\fs20\ul\lang2057\cgrid {The Human AI \par }\pard\plain \widctlpar\adjustright \fs20\lang2057\cgrid { \par As far as the rest of the system is concerned, the Human AI is just like any other AI, playing one of the seven powers in the game. However, there is a big difference. Instead of computing the moves and press to send, the Human AI simply presents the relevant information to the User, who enters the moves he wishes to make and the press he wishes to send. By the use of one or more Human AIs, it is possible for games to be played between human p layers and AI players. \par \par As a side effect, a game could also be played with seven Human AIs, thus allowing seven human players to play using the server. \par \par }\pard\plain \s1\keepn\widctlpar\outlinelevel0\adjustright \b\fs20\ul\lang2057\cgrid {\fs28 3. Inter-Process Communications}{\b0\fs28\ulnone \par }\pard\plain \widctlpar\adjustright \fs20\lang2057\cgrid { \par All communications between the server and the other Modules is transmit ted over TCP/IP. This allows the entire system to be on a single computer, a local area network, or over the Internet. It also allows the Modules to be written for different Operating Systems and different Hardware, and still be able to communicate and to work together. \par \par The details of the protocol used is available in the Client Server Protocol Document \par \par For those programmers who are writing an AI under a Microsoft Windows environment, a DLL is available to provide the TCP/IP handling. Details of the DLL Interface, and the DLL for download, can be found here. If you are writing your AI under a different Operating System, or on alternative hardware, then a copy of the code for the TCP/IP handling in the environment of your choice w ould be appreciated. \par \par }{\b\fs28\ul 4. Language of Communication}{\fs28 \par }{ \par The syntax of the language of communication is described in the DPP Syntax document. This language is used for all communication between the Server and any other Module. It includes syntax for sending press messages, submitting orders, and receiving results. \par \par The Server is able to handle a number of variants. This section assumes that none of the available variants are in use. The variants are detailed in Chapter 6. \par \par The language is split into a number of levels, with each level extending the previous one. Each game restricts the language available to a specified level, ranging from level 0 (No press allowed at all) to the top level where the entire language is available. An AI must be able to h andle the language in level 0, and as it becomes more advanced, handling of more levels can be added. If an AI is included in a game which is at a higher level than the AI is intended to play at, it should still attempt to play, and should use the feature s within the language to report to the other players when they use part of the language which it doesn\rquote t understand. \par \par }\pard\plain \s1\keepn\widctlpar\outlinelevel0\adjustright \b\fs20\ul\lang2057\cgrid {Error Checking \par }\pard\plain \widctlpar\adjustright \fs20\lang2057\cgrid { \par Every message received by the Server is checked for syntax errors, and rejected if it is does not conform. However, no inte r-message checking is made. That is, any message which may only be sent as a response to another message is checked for syntax errors, but is }{\b not }{checked against previous messages to ensure that the original message was ever sent. \par \par Each message has the following checks applied to it, and in the following order : \par \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 1)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls5\adjustright { The bracketing is checked. There must be an equal number of open and close brackets, and each close bracket must have a corresponding open bracket before it [so XXX (YYY)) ((ZZZ) is rejected as a bracketing error]. \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 2)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls5\adjustright { The syntax is checked, to ensure that each token is acceptable in the location where it is found, and that each token has the correct number of parameters following it. \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 3)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls5\adjustright { The message is checked to ensure that it conforms to the language level in force for the game. \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 4)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls5\adjustright { If it is a press message, the message is checked to ensure it does not include any countries which are not eligible to be included in the message (i.e. Eliminated countries, and in some cases, CD countries). \par }\pard \widctlpar\adjustright { \par Only one error message is ever reported per message sent to the server. Each of the above checks is made in left to right order across the message, with the earliest error in the message being reported. \par \par If no errors are reported, the message is then processed. \par \par }\pard\plain \s1\keepn\widctlpar\outlinelevel0\adjustright \b\fs20\ul\lang2057\cgrid {Order Format \par }\pard\plain \widctlpar\adjustright \fs20\lang2057\cgrid { \par All orders submitted are checked at submission. Every order submitted must be possible to succeed, and as many checks as possible are made to ensure that this is the case. Any order which could not possibly succeed is rejected by the server on submission, and a replacement order must be supplied. \par \par There is no limit on the length of time available for orders to be submitted, and the turn does not process until every AI has submitted a full set of orders. \par \par }\pard\plain \s1\keepn\widctlpar\outlinelevel0\adjustright \b\fs20\ul\lang2057\cgrid {Turn Resolution \par }\pard\plain \widctlpar\adjustright \fs20\lang2057\cgrid { \par Turns are resolved in accordance with the DPTG adjudication algorithm, with two amendments : \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 1)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls7\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls7\adjustright { All convoy routes must be specified, and failure to do so is a misorder. All details in the DPTG of how to determine the route of a convoy should be ignored. \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 2)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls7\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls7\adjustright {In the DPTG, the following orders are mis -adjudicated : ENGLAND: F(Den) \endash Kie, F(SKA) s RUSSIAN F(Swe) \endash Den. RUSSIA: F(Swe) \endash Den, F(BAL) s F(Swe) \endash Den. GERMANY: F(Kie) \endash Den, F(HEL) s F(Kie) \endash Den. According to the DPTG, the Russian F(Swe) dislodges the English F(Den). This is incorrect. This is adjudicated as F(Den) bouncing but not being dislodged. \par }\pard \widctlpar\adjustright { \par }{\b\fs28\ul 5. AI Etiquette}{\fs28 \par }{ \par The aim of the Diplomacy AI Centralisation Project is to provide an environment where good Diplomacy AIs can be developed and honed, not to provide an environment where programs c an try and beat the system. As such, the following rules should be adhered to, although they are not enforced by the Server. It is recommended that any Diplomacy AI tournaments make these rules compulsory for all entering AIs. \par \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 1)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls8\adjustright {You must not attempt to iden tify other countries being played by other copies of the same AI. \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 2)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls8\adjustright { You must not attempt to write orders with the intention of signalling to other players. For instance, orders such as convoys to Switzerland, convoys to another nations capital, supports for a move you intend to make next turn, or hope to see made by another power next turn, etc, while common in human NoPress play, should not be used in AI games. You should have a reasonable level of expectation that every order you give may be ruled as valid (e.g. you should only order a support or a convoy, if it is reasonable to assume the other unit involved may make use of the support or convoy). \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 3)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls8\adjustright { You must not attempt to read any signals in other players orders. \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 4)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls8\adjustright {You must attempt to stick to the language as defined in the syntax document. For instance, you must not attempt to send a reply to a message which you have not received. \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 5)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls8\adjustright { You must not try to overload another player with messages to process. \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 6)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls8\adjustright { You must not change the scheduling priority of your AI to a level above that at which it was started. \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 7)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls8\adjustright {You must not lie when using the }{\b HUH}{ or }{\b TRY}{ tokens. \par {\pntext\pard\plain\fs20\cgrid \hich\af0\dbch\af0\loch\f0 8)\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta )}}\ls8\adjustright { You must not purposely go into Civil Disorder. \par }\pard \widctlpar\adjustright { \par }{\b\fs28\ul 6. Available Variants and Variations}{\fs28 \par \par }{The following variants and variations are available. The AIs are informed of the variant options in effect at the start of the game.}{\b \par \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls9\adjustright { Syntax level n game. Only messages up to and including syntax level n may be sent or received. Any messages which are above the specified syntax level is rejected by the server. \par }\pard \widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\adjustright { \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls9\adjustright {Limited time availabl e for movement phases. The time starts as soon as the results of the previous phase (or the game starting message for Spring 1901) has been sent by the server. Any AI which does not submit a full set of orders in the time available has those units hold un ordered, is placed into Civil Disorder as soon as the results of the phase have been sent out, and remains in Civil Disorder until it sends a message to the server. \par }\pard \widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\adjustright { \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls9\adjustright { Limited time available for retreat phases. The time starts as soon as the results of the pr evious phase have been sent by the server. Any AI which does not submit a full set of orders in the time available has those units disbanded, is placed into Civil Disorder as soon as the results of the phase have been sent out, and remains in Civil Disord er until it sends a message to the server. \par }\pard \widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\adjustright { \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls9\adjustright { Limited time available for build phases. The time starts as soon as the results of the previous phase have been sent by the server. Any AI which does not submit a full set of orders in the time available has any b uilds owed waived, or any disbands due adjudicated according to the Civil Disorder disbands rule, is placed into Civil Disorder as soon as the results of the phase have been sent out, and remains in Civil Disorder until it sends a message to the server. \par }\pard \widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\adjustright { \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls9\adjustright {A ny orders accepted. Any orders which match the syntax for an order are accepted, whether they are legal or not. In this variant, AIs are also free to submit signalling moves. Any orders which fail due to being illegal, are reported as failed when the turn adjudicates, using the tokens which would normally be used to report the error when the order was submitted. \par }\pard \widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\adjustright {\b \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls9\adjustright { Partial draws are allowed (i.e. NoDIAS). Draws may be requested which includes a list of countries. That list may be any subset of the countries in the list which have not been eliminated. \par }\pard \widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\adjustright { \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls9\adjustright { No press shortly before adjudication. No press may be sent for the specified number of seconds before the turn adjudicates. This flag can only be used in games where there is a time limit for the Movement, Retrea t and/or Build phase. Any press sent too close to the deadline is rejected as an error, with the }{\b SND}{ token being marked as a syntax error. \par }\pard \widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\adjustright { \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls9\adjustright { No press during retreat phases. As soon as the server has completed an adjudication and determined that the next phase is a Retreat phase, and before the results have been sent out, any press received by the server is rejected as an error, with the }{\b SND}{ token being marked as a syntax error. Press continues to be blocked until the server has completed the adjudication of the retreat phase. \par }\pard \widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\adjustright { \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls9\adjustright { No press during build phases. As soon as the server has completed an adjudication and determined that the next phase is a Build phase, and before the results have been sent out, any press received by the server is rejected as an error, with the }{\b SND}{ token being marked as a syntax error. Press continues to be blocked until the server has completed the adjudication of the build phase. \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls9\adjustright { \par }\pard \widctlpar\adjustright { \par }}