Example #1
0
 def save_config(self, download=False):
     path = os.path.join(MEDIA_ROOT, 'mods', self.mod.title)
     config = TwConfig(
         os.path.join(path, 'servers', self.owner.username,
                      '{0}'.format(self.id), self.random_key,
                      'generated.cfg'))
     for option in self.config_options.all():
         if option.widget == Option.WIDGET_SELECT:
             value = option.value.split(',', 1)[0]
             widget = 'select:{0}'.format(option.value.split(',', 1)[1])
             config.add_option(option.command, value, widget)
         else:
             if download and option.widget == Option.WIDGET_PASSWORD:
                 config.add_option(option.command, '',
                                   option.get_widget_display())
             else:
                 config.add_option(option.command, option.value,
                                   option.get_widget_display())
     if download:
         config.add_option('sv_port', '8303')
     else:
         config.add_option('sv_port', self.port.port)
         config.add_option('ec_port', self.port.port)
         config.add_option('ec_password', 'uptee')
     for tune in self.config_tunes.all():
         config.add_tune(tune.command, tune.value)
     for vote in self.config_votes.all():
         config.add_vote(vote.command, vote.title)
     for rcon_command in self.config_rconcommands.all():
         config.add_rcon_command(rcon_command.command, rcon_command.value)
     config.write()
Example #2
0
 def save_config(self, download=False):
     path = os.path.join(MEDIA_ROOT, 'mods', self.mod.title)
     config = TwConfig(os.path.join(path, 'servers', self.owner.username, '{0}'.format(self.id), self.random_key, 'generated.cfg'))
     for option in self.config_options.all():
         if option.widget == Option.WIDGET_SELECT:
             value = option.value.split(',', 1)[0]
             widget = 'select:{0}'.format(option.value.split(',', 1)[1])
             config.add_option(option.command, value, widget)
         else:
             if download and option.widget == Option.WIDGET_PASSWORD:
                 config.add_option(option.command, '', option.get_widget_display())
             else:
                 config.add_option(option.command, option.value, option.get_widget_display())
     if download:
         config.add_option('sv_port', '8303')
     else:
         config.add_option('sv_port', self.port.port)
         config.add_option('ec_port', self.port.port)
         config.add_option('ec_password', 'uptee')
     for tune in self.config_tunes.all():
         config.add_tune(tune.command, tune.value)
     for vote in self.config_votes.all():
         config.add_vote(vote.command, vote.title)
     for rcon_command in self.config_rconcommands.all():
         config.add_rcon_command(rcon_command.command, rcon_command.value)
     config.write()
Example #3
0
 def set_online(self):
     ports = Port.objects.filter(server=self)
     if ports:
         for port in ports:
             server = port.server
             server.set_offline()
     self.port = Port.get_free_port()
     self.port.is_active = True
     self.port.save()
     path = os.path.join(MEDIA_ROOT, 'mods', self.mod.title)
     config = TwConfig(os.path.join(path, 'generated.cfg'))
     for option in self.config_options.all():
         config.add_option(option.command, option.value, option.get_widget_display())
     config.add_option('sv_port', self.port.port)
     for tune in self.config_tunes.all():
         config.add_tune(tune.command, tune.value)
     for vote in self.config_votes.all():
         config.add_vote(vote.command, vote.title)
     config.write()
     with open(os.path.join(path, 'storage.cfg'), 'w') as storage:
         storage.write('add_path servers/{0}/{1}\nadd_path $CURRENTDIR\n'.format(self.owner.username, self.id))
     run_server.delay(path, self)