  
  enum server_states server_state(void);
  void set_server_state(enum server_states newstate);
+diff --git a/server/stdinhand.c b/server/stdinhand.c
+index 6f21ae8..c171dd3 100644
+--- a/server/stdinhand.c
++++ b/server/stdinhand.c
+@@ -599,6 +599,8 @@ static bool metamessage_command(struct connection *caller,
+ {
+   struct setting *pset;
+ 
++  if (is_longturn() && S_S_RUNNING == server_state())  return FALSE;
++
+   if (check) {
+     return TRUE;
+   }
+@@ -686,6 +688,8 @@ void toggle_ai_player_direct(struct connection *caller, struct player *pplayer)
+ {
+   fc_assert_ret(pplayer != NULL);
+ 
++  if (is_longturn() && S_S_RUNNING == server_state())  return;
++
+   if (is_human(pplayer)) {
+     cmd_reply(CMD_AITOGGLE, caller, C_OK,
+ 	      _("%s is now under AI control."),
+@@ -712,6 +716,8 @@ static bool toggle_ai_command(struct connection *caller, char *arg, bool check)
+   enum m_pre_result match_result;
+   struct player *pplayer;
+ 
++  if (is_longturn() && S_S_RUNNING == server_state()) return FALSE;
++
+   pplayer = player_by_name_prefix(arg, &match_result);
+ 
+   if (!pplayer) {

+  return (srvarg.port == 6003 || srvarg.port == 6004);
+}
diff --git a/server/srv_main.h b/server/srv_main.h
index 559bc8d..d2701e2 100644
--- a/server/srv_main.h
+++ b/server/srv_main.h
@@ -93,6 +93,7 @@ void srv_init(void);

 
     if (game.server.auto_ai_toggle && !is_human(pplayer)) {
       toggle_ai_player_direct(NULL, pplayer);
diff --git a/server/settings.c b/server/settings.c
index 0d7605f..ab7fa7b 100644
--- a/server/settings.c
+++ b/server/settings.c
@@ -755,6 +755,8 @@ static void topology_action(const struct setting *pset)
 *************************************************************************/
 static void metamessage_action(const struct setting *pset)
 {
+  if (is_longturn() && S_S_RUNNING == server_state())  return;
+
   /* Set the metaserver message based on the new meta server user message.
    * An empty user metaserver message results in an automatic meta message.
    * A non empty user meta message results in the user meta message. */
diff --git a/server/srv_main.c b/server/srv_main.c
index 63826ff..49b2998 100644
--- a/server/srv_main.c
+++ b/server/srv_main.c
@@ -3097,6 +3097,15 @@ static void srv_ready(void)
         map_show_all(pplayer);
       } players_iterate_end;
     }
