code: def DbAddServer(self, argin):
          
          self._log.debug("In DbAddServer()")
  
          if len(argin) < 3 or not len(argin) % 2:
              self.warn_stream("DataBase::AddServer(): incorrect number of input arguments ")
              th_exc(DB_IncorrectArguments,
                     "incorrect no. of input arguments, needs at least 3 (server,device,class)",
                     "DataBase::AddServer()")
          server_name = argin[0]
  
          for i in range((len(argin) - 1) / 2):
              d_name, klass_name = argin[i * 2 + 1], argin[i * 2 + 2]
              ret, dev_name, dfm = check_device_name(d_name)
              if not ret:
                  th_exc(DB_IncorrectDeviceName,
                        "device name (" + d_name + ") syntax error (should be [tango:][//instance/]domain/family/member)",
                        "DataBase::AddServer()")
              self.db.add_device(server_name, (dev_name, dfm) , klass_name)
docs: Create a device server process entry in database
  
          :param argin: Str[0] = Full device server name
          Str[1] = Device(s) name
          Str[2] = Tango class name
          Str[n] = Device name
          Str[n + 1] = Tango class name
          :type: tango.DevVarStringArray
          :return:
          :rtype: tango.DevVoid