A.R.E.S verwandelt eine Google-Tabelle in ein Kommandozentrum für deinen Enlisted-YouTube-Kanal: Dateinamen, Thumbnails, Titel, Tags, Beschreibungen, Timestamps, Shorts und Playlists — generiert und veröffentlicht aus einer einzigen Zeile. A.R.E.S turns a Google Sheet into a command center for your Enlisted YouTube channel: filenames, thumbnails, titles, tags, descriptions, timestamps, shorts and playlists — generated and published from a single row.
A.R.E.S ist ein Google-Apps-Script-Projekt, das direkt in Google Sheets läuft. Du pflegst deine Gameplay-Aufnahmen in Zeilen — A.R.E.S erledigt alles, was danach kommt, über die YouTube Data API, die Google Docs API und Google Drive. A.R.E.S is a Google Apps Script project that runs right inside Google Sheets. You keep your gameplay recordings in rows — A.R.E.S handles everything that follows, via the YouTube Data API, the Google Docs API and Google Drive.
Battle, Fraktion, Tier, Map, Typ & Modus in eine Zeile eintragen.Enter battle, faction, tier, map, type & mode into a row.
→Standardisierter Dateiname + Overlay-Textdateien für die Aufnahme.Standardized filename + overlay text files for recording.
→Thumbnail, Timestamps aus Drive, KI-Titel & -Beschreibung.Thumbnail, timestamps from Drive, AI title & description.
→Geplanter Upload an YouTube inkl. automatischer Playlist-Zuordnung.Scheduled upload to YouTube incl. automatic playlist assignment.
→Status springt stündlich von „Planned" auf „Published".Status flips hourly from "Planned" to "Published".
Jeder Eintrag erscheint im 🔥 A.R.E.S 🔥-Menü deiner Tabelle und arbeitet immer mit der aktuell ausgewählten Zeile.Each entry appears in the 🔥 A.R.E.S 🔥 menu of your sheet and always works on the currently selected row.
Baut aus Datum, Tier, Fraktion, Battle, Map, Typ und Modus einen sauberen Dateinamen. Schreibt zusätzlich Overlay-Textdateien (z. B. fraction.txt, map.txt) nach Google Drive.Builds a clean filename from date, tier, faction, battle, map, type and mode. Also writes overlay text files (e.g. fraction.txt, map.txt) to Google Drive.
Lädt ein Google-Docs-Template, ersetzt {{Platzhalter}} aus der Zeile, fügt Timestamps ein und aktualisiert das Video als privaten, geplanten Upload.Loads a Google Docs template, replaces {{placeholders}} from the row, inserts timestamps and updates the video as a private, scheduled upload.
Spricht eine externe Thumbnail-API (ARES_API_BASE) an, wählt aus Projekt-Templates und optionalem Hintergrundbild und liefert eine fertige Vorschau-URL.Calls an external thumbnail API (ARES_API_BASE), picks from project templates and an optional background image and returns a ready preview URL.
Findet den passenden Short per Dateiname, baut Titel/Beschreibung/Hashtags — optional per OpenAI — und hängt das Video an die Shorts-Playlist.Finds the matching short by filename, builds title/description/hashtags — optionally via OpenAI — and attaches the video to the shorts playlist.
YouTube API · AI optionalLiest .txt-Dateien aus einem Drive-Ordner, erkennt Fraktion & Tier, schreibt Timestamps, legt Shorts an und archiviert die Quelldatei. Live-Log inklusive.Reads .txt files from a Drive folder, detects faction & tier, writes timestamps, creates shorts and archives the source file. Live log included.
Sprung zur nächsten freien Zeile, Querverweise zwischen Battles / Shorts / Timestamps, Direktlinks zu YouTube & Studio sowie ein Sheet-Schema-Export als JSON.Jump to the next free row, cross-references between Battles / Shorts / Timestamps, direct links to YouTube & Studio, plus a sheet schema export as JSON.
UtilitiesDer Code liegt unter src/ und wird per clasp in Google Apps Script deployt. Feature-Logik ist nach Domänen getrennt; geteilte Helfer und Konfiguration liegen zentral.The code lives under src/ and is deployed to Google Apps Script via clasp. Feature logic is split by domain; shared helpers and configuration live centrally.
onOpen() baut das A.R.E.S-Menü mit Tools- und Configuration-Untermenüs auf.onOpen() builds the A.R.E.S menu with Tools and Configuration submenus..clasp/ sind mehrere Deployments hinterlegt — derselbe Code wird per npm run push:all auf mehrere Kanäle gespielt.
Multiple deployments are configured under .clasp/ — the same code is pushed to several channels via npm run push:all.
A.R.E.S besteht aus zwei verzahnten Systemen. Im Sheet planst und veröffentlichst du — auf deinem PC läuft parallel obs_marker.lua, ein OBS-Script, das während der Aufnahme Marker setzt, Highlights mit eindeutigen IDs versieht und Dateien automatisch passend benennt.
A.R.E.S consists of two interlocking systems. In the sheet you plan and publish — on your PC, obs_marker.lua runs alongside it, an OBS script that sets markers during recording, tags highlights with unique IDs and renames files automatically.
video-file-name.txtwrites overlay TXT + video-file-name.txtZwei frei belegbare Hotkeys schreiben Zeitmarken direkt in die Marker-Datei.Two freely assignable hotkeys write time markers straight into the marker file.
|1768350042-3492|. Genau dieses Muster liest das Sheet beim Import aus und legt daraus automatisch einen Short namens UID.mkv an.The UID is the bridge: F2 generates an ID like |1768350042-3492|. The sheet reads exactly this pattern on import and automatically creates a short named UID.mkv from it.Battle Results, Marker-TXT wird geschrieben.Last marker becomes Battle Results, the marker TXT is written.video-file-name.txt umbenannt — mit ±1 s-Fallback, falls OBS' Zeitstempel abweicht.Recording & TXT are renamed to video-file-name.txt — with a ±1 s fallback if OBS' timestamp drifts.In OBS (getestet mit 31.1.2) unter Werkzeuge → Scripts die Datei obs_marker.lua hinzufügen.In OBS (tested with 31.1.2), add obs_marker.lua under Tools → Scripts.
In den Script-Eigenschaften die beiden Ordner und optional den A.R.E.S-Username angeben:In the script properties, set the two folders and optionally the A.R.E.S username:
| Setting | BeschreibungDescription |
|---|---|
| marker_folder | OBS-Aufnahmeordner — hier landen Aufnahme & Marker-TXTOBS recording folder — where recording & marker TXT land |
| overlay_folder | Synchronisierter Overlay-Ordner (Drive/Nextcloud) mit den TXT-Dateien aus dem SheetSynced overlay folder (Drive/Nextcloud) with the TXT files from the sheet |
| ares_username | Optional — zur Zuordnung passend zum SheetOptional — to match the sheet |
Unter Einstellungen → Hotkeys die Aktionen Create Marker (z. B. F1) und Marker -10 Seconds (z. B. F2) belegen. Fertig — ab jetzt setzt du Marker direkt aus dem Spiel.Under Settings → Hotkeys, bind the actions Create Marker (e.g. F1) and Marker -10 Seconds (e.g. F2). Done — from now on you set markers straight from the game.
overlay_folder auf denselben synchronisierten Ordner, in den der Filename Generator schreibt.The matching folder structure is already described in the A.R.E.S example sheet (Path A). Point your overlay_folder at the same synced folder the filename generator writes to.So richtest du A.R.E.S ein — alles was du brauchst ist eine eigene Kopie des Beispiel-Sheets.Here is how you set up A.R.E.S — all you need is your own copy of the example sheet.
Öffne das von HEPHEISTO bereitgestellte Beispiel-Spreadsheet und erstelle dir eine eigene Kopie über Datei → Kopie erstellen. Der komplette A.R.E.S-Code und alle Tabellenblätter sind bereits enthalten.Open the example spreadsheet provided by HEPHEISTO and make your own copy via File → Make a copy. The complete A.R.E.S code and all sheets are already included.
Coming SoonComing SoonLade deine Kopie neu — das Menü 🔥 A.R.E.S 🔥 erscheint. Beim ersten Ausführen einer Aktion fragt Google nach Berechtigungen für YouTube, Docs und Drive. Bestätige diese mit deinem Kanal-Account.Reload your copy — the 🔥 A.R.E.S 🔥 menu appears. On the first action, Google asks for permissions for YouTube, Docs and Drive. Confirm them with your channel account.
Öffne ⚙️ Configuration → 💎 Variables und trage deine eigenen Werte ein. Diese werden sicher in den Script Properties gespeichert.Open ⚙️ Configuration → 💎 Variables and enter your own values. They are stored securely in the script properties.
| Property | BeschreibungDescription |
|---|---|
| ARES_USERNAME | Kanal-/Projekt-KennungChannel / project identifier |
| ARES_API_BASE | Basis-URL der Thumbnail-APIBase URL of the thumbnail API |
| ARES_TEMPLATE_VIDEO_DOC_ID | Google-Doc-ID des Video-TemplatesGoogle Doc ID of the video template |
| ARES_TEMPLATE_SHORTS_DOC_ID | Google-Doc-ID des Shorts-TemplatesGoogle Doc ID of the shorts template |
| OPENAI_API_KEY | Optional — schaltet die KI-Metadaten für Shorts freiOptional — unlocks AI metadata for shorts |
Trage deine erste Aufnahme im Battles-Sheet ein, wähle die Zeile und starte über das A.R.E.S-Menü. Fertig. Optional: einen stündlichen Trigger für autoUpdatePlannedStatusHourly anlegen.Enter your first recording in the Battles sheet, select the row and start from the A.R.E.S menu. Done. Optional: add an hourly trigger for autoUpdatePlannedStatusHourly.
Antworten auf das, was beim Einsatz von A.R.E.S typischerweise aufkommt.Answers to what typically comes up when running A.R.E.S.
.txt-Dateien aus einem Drive-Ordner, erkennt Fraktion und Tier aus dem Dateinamen, schreibt die Zeitmarken ins Timestamps-Sheet und legt aus markierten Highlights automatisch Short-Einträge an. Verarbeitete Dateien wandern in einen Archiv-Ordner. Ein Live-Log zeigt den Fortschritt.A.R.E.S reads .txt files from a Drive folder, detects faction and tier from the filename, writes the timestamps into the Timestamps sheet and automatically creates short entries from flagged highlights. Processed files move to an Archiv folder. A live log shows the progress.fraction.txt, map.txt, br-fraction.txt) nach Drive. Diese kannst du in deiner Aufnahme- oder Rendering-Software als Text-Overlays einbinden, sodass Battle-Infos automatisch im Bild erscheinen.The filename generator writes small text files (e.g. fraction.txt, map.txt, br-fraction.txt) to Drive. You can wire these into your recording or rendering software as text overlays, so battle info appears in the frame automatically.onOpen() beim Laden der Tabelle erzeugt. Lade das Spreadsheet neu und stelle sicher, dass ein Sheet Statistics existiert (der Counter in A18 wird beim Öffnen hochgezählt).The menu is created by onOpen() when the sheet loads. Reload the spreadsheet and make sure a Statistics sheet exists (the counter in A18 is incremented on open).video-file-name.txt, OBS liest diese, setzt während der Aufnahme Marker und vergibt Highlight-UIDs wie |1768350042-3492|. Die fertige Marker-TXT wandert zurück ins Sheet, das daraus Timestamps und Shorts erzeugt. Die UID ist dabei die eindeutige Klammer zwischen Aufnahme und Veröffentlichung.Via two shared file formats in a synced folder: the sheet writes overlay TXT and video-file-name.txt, OBS reads these, sets markers during recording and assigns highlight UIDs like |1768350042-3492|. The finished marker TXT travels back into the sheet, which generates timestamps and shorts from it. The UID is the unique link between recording and publishing.