$servers * @return array */ public function run(string $command, Collection $servers, int $timeout = 60): array { $results = []; foreach ($servers as $server) { try { $res = $this->fleet->runPlain($server, $command, $timeout); $results[] = ['server' => $server->name, 'ok' => (bool) $res['ok'], 'output' => $this->clean($res['output'])]; } catch (Throwable $e) { $results[] = ['server' => $server->name, 'ok' => false, 'output' => $this->clean($e->getMessage())]; } } return $results; } private function clean(string $output): string { return mb_scrub(mb_strcut($output, 0, self::MAX_BYTES), 'UTF-8'); } }