Author: cazfi Date: Sat Jun 25 22:56:53 2016 New Revision: 33025 URL: http://svn.gna.org/viewcvs/freeciv?rev=33025&view=rev Log: Added server commandline option --keep for supporting persistent metaconnections from the commandline.
See patch #7314 Modified: trunk/doc/man/freeciv-server.6.in trunk/server/civserver.c trunk/server/srv_main.c trunk/server/srv_main.h Modified: trunk/doc/man/freeciv-server.6.in URL: http://svn.gna.org/viewcvs/freeciv/trunk/doc/man/freeciv-server.6.in?rev=33025&r1=33024&r2=33025&view=diff ============================================================================== --- trunk/doc/man/freeciv-server.6.in (original) +++ trunk/doc/man/freeciv-server.6.in Sat Jun 25 22:56:53 2016 @@ -23,6 +23,7 @@ [ \-f|\-\-file \fIfilename\fP ] \ [ \-h|\-\-help ] \ [ \-i|\-\-identity \fIaddress\fP ] \ +[ \-k|\-\-keep ] \ [ \-l|\-\-log \fIfilename\fP ] \ [ \-M|\-\-Metaserver \fIaddress\fP ] \ [ \-m|\-\-meta ] \ @@ -188,6 +189,12 @@ metaserver is used. You may specify an alternate metaserver with the \fI\-M\fP option. .TP +.BI "\-k, \-\-keep" +Usually freeciv server stops sending updates to the metaserver, when there's +problems on the connection once. With this option it keeps on trying to send +further updates even after it has failed to send updated status once. +This option implies \fI\-m\fP option. +.TP .BI "\-N, \-\-Newusers" Allow new users to login and be registered in the players base if authentication is enabled. Modified: trunk/server/civserver.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/civserver.c?rev=33025&r1=33024&r2=33025&view=diff ============================================================================== --- trunk/server/civserver.c (original) +++ trunk/server/civserver.c Sat Jun 25 22:56:53 2016 @@ -223,6 +223,10 @@ #endif /* FREECIV_NDEBUG */ } else if ((option = get_option_malloc("--Ranklog", argv, &inx, argc))) { srvarg.ranklog_filename = option; /* Never freed. */ + } else if (is_option("--keep", argv[inx])) { + srvarg.metaconnection_persistent = TRUE; + /* Implies --meta */ + srvarg.metaserver_no_send = FALSE; } else if (is_option("--nometa", argv[inx])) { fc_fprintf(stderr, _("Warning: the %s option is obsolete. " "Use -m to enable the metaserver.\n"), argv[inx]); @@ -399,6 +403,8 @@ _("type TYPE"), _("Set TYPE as server type in metaserver")); #endif /* FREECIV_WEB */ + cmdhelp_add(help, "k", "keep", + _("Keep updating game information on metaserver even if has failed in the past")), cmdhelp_add(help, "p", /* TRANS: "port" is exactly what user must type, do not translate. */ _("port PORT"), Modified: trunk/server/srv_main.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/srv_main.c?rev=33025&r1=33024&r2=33025&view=diff ============================================================================== --- trunk/server/srv_main.c (original) +++ trunk/server/srv_main.c Sat Jun 25 22:56:53 2016 @@ -240,6 +240,7 @@ srvarg.metaserver_no_send = DEFAULT_META_SERVER_NO_SEND; sz_strlcpy(srvarg.metaserver_addr, DEFAULT_META_SERVER_ADDR); + srvarg.metaconnection_persistent = FALSE; srvarg.identity_name[0] = '\0'; srvarg.serverid[0] = '\0'; @@ -2743,7 +2744,7 @@ if (!(srvarg.metaserver_no_send)) { log_normal(_("Sending info to metaserver <%s>."), meta_addr_port()); /* Open socket for meta server */ - if (!server_open_meta(FALSE) + if (!server_open_meta(srvarg.metaconnection_persistent) || !send_server_info_to_metaserver(META_INFO)) { con_write(C_FAIL, _("Not starting without explicitly requested metaserver connection.")); exit(EXIT_FAILURE); Modified: trunk/server/srv_main.h URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/srv_main.h?rev=33025&r1=33024&r2=33025&view=diff ============================================================================== --- trunk/server/srv_main.h (original) +++ trunk/server/srv_main.h Sat Jun 25 22:56:53 2016 @@ -1,4 +1,4 @@ -/********************************************************************** +/*********************************************************************** Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,6 +27,7 @@ /* metaserver information */ bool metaserver_no_send; char metaserver_addr[256]; + bool metaconnection_persistent; char identity_name[256]; unsigned short int metaserver_port; /* address this server is to listen on (NULL => INADDR_ANY) */ _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits