Author: cazfi
Date: Tue Aug  9 08:23:10 2016
New Revision: 33518

URL: http://svn.gna.org/viewcvs/freeciv?rev=33518&view=rev
Log:
Added server commandline parameter '--ruleset' for setting ruleset loaded 
initially.

See patch #7564

Modified:
    trunk/server/civserver.c
    trunk/server/srv_main.c
    trunk/server/srv_main.h

Modified: trunk/server/civserver.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/civserver.c?rev=33518&r1=33517&r2=33518&view=diff
==============================================================================
--- trunk/server/civserver.c    (original)
+++ trunk/server/civserver.c    Tue Aug  9 08:23:10 2016
@@ -292,6 +292,8 @@
       srvarg.saves_pathname = option;
     } else if ((option = get_option_malloc("--scenarios", argv, &inx, argc, 
TRUE))) {
       srvarg.scenarios_pathname = option;
+    } else if ((option = get_option_malloc("--ruleset", argv, &inx, argc, 
TRUE))) {
+      srvarg.ruleset = option;
     } else if (is_option("--version", argv[inx])) {
       showvers = TRUE;
     } else if ((option = get_option_malloc("--Announce", argv, &inx, argc, 
FALSE))) {
@@ -438,6 +440,10 @@
                 /* TRANS: "Ranklog" is exactly what user must type, do not 
translate. */
                 _("Ranklog FILE"),
                 _("Use FILE as ranking logfile"));
+    cmdhelp_add(help, NULL,
+                /* TRANS: "ruleset" is exactly what user must type, do not 
translate. */
+                _("ruleset RULESET"),
+                _("Load ruleset RULESET"));
 #ifdef AI_MODULES
     cmdhelp_add(help, "L",
                 /* TRANS: "LoadAI" is exactly what user must type, do not 
translate. */

Modified: trunk/server/srv_main.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/srv_main.c?rev=33518&r1=33517&r2=33518&view=diff
==============================================================================
--- trunk/server/srv_main.c     (original)
+++ trunk/server/srv_main.c     Tue Aug  9 08:23:10 2016
@@ -264,6 +264,7 @@
   srvarg.script_filename = NULL;
   srvarg.saves_pathname = "";
   srvarg.scenarios_pathname = "";
+  srvarg.ruleset = NULL;
 
   srvarg.quitidle = 0;
 
@@ -2756,6 +2757,17 @@
   }
 #endif /* HAVE_FCDB */
 
+  if (srvarg.ruleset != NULL) {
+    const char *testfilename;
+
+    testfilename = fileinfoname(get_data_dirs(), srvarg.ruleset);
+    if (testfilename == NULL) {
+      log_fatal(_("Ruleset directory \"%s\" not found"), srvarg.ruleset);
+      exit(EXIT_FAILURE);
+    }
+    sz_strlcpy(game.server.rulesetdir, srvarg.ruleset);
+  }
+
   /* load a saved game */
   if ('\0' == srvarg.load_filename[0]
       || !load_command(NULL, srvarg.load_filename, FALSE, TRUE)) {

Modified: trunk/server/srv_main.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/srv_main.h?rev=33518&r1=33517&r2=33518&view=diff
==============================================================================
--- trunk/server/srv_main.h     (original)
+++ trunk/server/srv_main.h     Tue Aug  9 08:23:10 2016
@@ -45,6 +45,7 @@
   char *script_filename;
   char *saves_pathname;
   char *scenarios_pathname;
+  char *ruleset;
   char serverid[256];
   /* quit if there no players after a given time interval */
   int quitidle;


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to