
Anticheat και ακεραιότητα συνεδρίας
Native C++ module κάτω από έναν Electron launcher. Οι συνεδρίες ζουν μόνο όσο ο monitor κρατά τη διεργασία· υπογεγραμμένα εκτελέσιμα, απόκριση σε παραποίηση, λειτουργίες που ξεκλειδώνουν ανάλογα με το υλικό.

Χτίζουμε πλατφόρμες, υποδομές παιχνιδιών και εργαλεία ασφάλειας, και τα κρατάμε σε λειτουργία μετά το launch. Boutique στούντιο στο Ταλίν.
Χτισμένα για έναν διαχειριστή online παιχνιδιού με χιλιάδες παίκτες την ημέρα. Τα ονόματα δεν αναφέρονται, η υλοποίηση είναι δική μας.

Native C++ module κάτω από έναν Electron launcher. Οι συνεδρίες ζουν μόνο όσο ο monitor κρατά τη διεργασία· υπογεγραμμένα εκτελέσιμα, απόκριση σε παραποίηση, λειτουργίες που ξεκλειδώνουν ανάλογα με το υλικό.

Ένας χαρακτήρας μέσα στο παιχνίδι με μνήμη, moderation και παραγωγή αποστολών, που τρέχει ως ασύγχρονη υπηρεσία δίπλα στον game server, ώστε η προσομοίωση να μην περιμένει ποτέ το μοντέλο.

Δέκα κόμβοι σε ιδιωτικό mesh σε τέσσερις ηπείρους, ένα dashboard, agents που στέλνουν την κατάστασή τους και ένας watchdog που το παίρνει είδηση όταν σταματούν.

Υπογεγραμμένος desktop launcher με σταδιακές ενημερώσεις επαληθευμένες με hash από object storage, σύνδεση λογαριασμού, ειδοποιήσεις σε Discord και Telegram.

Fork ενός translation layer από Direct3D 9 σε Vulkan: ambient occlusion, αντανακλάσεις, bloom, frame generation και neural rendering, με ξεχωριστό επίπεδο UI ώστε το HUD να μένει ανέγγιχτο.

Tickets, επαλήθευση λογαριασμών, αναμετάδοση events και ένα επίπεδο moderation που διαβάζει τα συμφραζόμενα πριν δράσει, στην υπηρεσία μιας πολύγλωσσης κοινότητας όλο το εικοσιτετράωρο.
Οι παίκτες μπορούσαν να τρέξουν τον client του παιχνιδιού εκτός launcher, ή με απενεργοποιημένο το module παρακολούθησης, και ο server δεν είχε τρόπο να το καταλάβει.
Έναν native monitor που ο launcher πρέπει να κρατά πριν υπάρξει συνεδρία, ένα heartbeat που σταματά μόνο του τη στιγμή που ο monitor πεθαίνει, υπογεγραμμένα εκτελέσιμα και απόκριση σε παραποίηση που ανακαλεί τη συνεδρία από την πλευρά του server. Οι λειτουργίες του renderer ξεκλειδώνουν σε κάθε εκκίνηση με υπογεγραμμένη εγγραφή, ώστε ένα τροποποιημένο DLL να τρέχει με όλα απενεργοποιημένα.
Οι κλήσεις μοντέλων μέσα στη διεργασία του παιχνιδιού κρατούσαν threads μπλοκαρισμένα για δευτερόλεπτα, εξαντλούσαν το connection pool και κολλούσαν τον βρόχο πακέτων για όλους όσοι ήταν online.
Ένα asyncio sidecar ανά game server που αναλαμβάνει κάθε κλήση μοντέλου: συνομιλία με μνήμη σε επίπεδα, μόνιμη κλίμακα moderation, παραγωγή αφήγησης αποστολών, μετάφραση σε έξι γλώσσες με προθεσμία δύο δευτερολέπτων, και διανυσματική βάση γνώσης για τεκμηριωμένες απαντήσεις. Το παιχνίδι στέλνει ένα στιγμιότυπο και παίρνει callback· τίποτα στην προσομοίωση δεν περιμένει.
Ένας νεκρός ή απομονωμένος κόμβος δεν μπορεί να το αναφέρει μόνος του. Ειδοποιήσεις που εξαρτώνται από το μηχάνημα που έπεσε δεν φτάνουν ποτέ.
Agents ανά κόμβο που στέλνουν την κατάστασή τους μέσα από κρυπτογραφημένο mesh, έναν watchdog στο backend που τους ρωτά ο ίδιος όταν σωπάσουν, περιφερειακούς proxies που αναφέρουν τη δική τους διαδρομή προς τον game server, και παράδοση στο Discord με rate limiting που μεταφέρει τις ειδοποιήσεις που συγκρατήθηκαν αντί να τις πετά.
Πλήρες κατέβασμα του client σε κάθε ενημέρωση, κανένας τρόπος να προσεγγίσουμε τους παίκτες έξω από το παιχνίδι, και χειροκίνητη διαδικασία patch που έσπαγε όποτε η πλευρά του server δεν ήταν έτοιμη.
Έναν υπογεγραμμένο Electron launcher που ελέγχει το hash κάθε τοπικού αρχείου με βάση ένα manifest και κατεβάζει από το object storage μόνο ό,τι άλλαξε, ξεχωριστή διαδρομή πλήρους εγκατάστασης σε τμηματικούς τόμους, αυτόματη ενημέρωση του ίδιου του launcher, σύνδεση λογαριασμού με την web πλατφόρμα, και ειδοποιήσεις που φτάνουν σε Discord και Telegram με τη συγκατάθεση του παίκτη.
Μηχανή είκοσι ετών χωρίς post-processing, χωρίς σύγχρονο upscaling, και με το HUD να σχεδιάζεται στο ίδιο buffer με τον κόσμο.
Ένα fork του D3D9-σε-Vulkan layer που ξεχωρίζει τα draws σε σκηνή και UI, στέλνει το UI σε δικό του επίπεδο που συντίθεται τελευταίο, και εφαρμόζει ambient occlusion, screen-space αντανακλάσεις, bloom, anti-aliasing, frame generation και neural rendering μόνο στον κόσμο. Ένας tuner μέσα στο παιχνίδι δίνει ζωντανά κάθε ρύθμιση για βαθμονόμηση.
Κοινότητα σε έξι γλώσσες, αιτήματα υποστήριξης όλες τις ώρες, και moderation που εξαρτιόταν από όποιον τύχαινε να είναι ξύπνιος.
Ένα bot που χειρίζεται tickets, συνδέει ταυτότητες Discord με λογαριασμούς παιχνιδιού, αναμεταδίδει το chat του παιχνιδιού και τα raid events, στέλνει προσωπικές ειδοποιήσεις, και τρέχει ένα επίπεδο moderation που βαθμολογεί τα μηνύματα με βάση τα συμφραζόμενα και κλιμακώνει πάνω σε μόνιμη κλίμακα αντί να αντιδρά σε μεμονωμένες λέξεις.
Εννέα πράγματα που προσφέρουμε ως υπηρεσία, από το πρώτο σκίτσο του interface μέχρι τον server που το τρέχει. Μία ομάδα, ολόκληρο το stack.
Πλατφόρμες στα μέτρα σας, περιοχές μελών, πληρωμές, εσωτερικά εργαλεία. Με οδηγό το design, χτισμένα για να λειτουργούν χρόνια.
Ιστότοποι και web εφαρμογές, πολύγλωσσα, γρήγορα, με μετρήσεις. Από ένα marketing site μέχρι μια πλήρη πλατφόρμα μελών.
Game development, εργαλεία client, launchers, δουλειά σε renderer. Τα εσωτερικά της μηχανής δεν είναι άβατο.
Authoritative servers, περιφερειακά edge nodes, anti-DDoS είσοδος, διαχειριζόμενη υποδομή σε κλίμακα χιλιάδων ταυτόχρονων παικτών.
Anticheat, έλεγχοι ακεραιότητας, υπογεγραμμένα εκτελέσιμα, rate limiting. Τα βαρετά κομμάτια που αποτρέπουν τα ακριβά.
Αρχιτεκτονική, σχεδιασμός API, reviews, δεύτερη γνώμη πριν από μια ακριβή απόφαση.
Στόλοι Linux, βάσεις δεδομένων, backups που όντως επαναφέρονται, monitoring που ξυπνάει κάποιον.
Roadmaps, αντικατάσταση legacy συστημάτων, επιλογή προμηθευτών και stack για ομάδες που έχουν ξεπεράσει αυτό που τρέχουν.
Αρχεία κατά τα άρθρα 28 και 30, πολιτικές απορρήτου, συμβάσεις με εκτελούντες την επεξεργασία, γραμμένα από ανθρώπους που χτίζουν και τα συστήματα.

Η RunicByte είναι ένα boutique στούντιο με έδρα το Ταλίν. Αναλαμβάνουμε έργα όπου το design, το backend και η υποδομή πρέπει να συνεννοούνται, και μένουμε και μετά το launch, γιατί τα συστήματα που χτίζουμε είναι τα συστήματα που λειτουργούμε εμείς.
Μιλάτε με τους ανθρώπους που γράφουν τον κώδικα. Χωρίς ενδιάμεσα επίπεδα, χωρίς πέρασμα από χέρι σε χέρι, χωρίς ουρά από tickets ανάμεσα σε εσάς και μια απάντηση.
Πείτε μας τον στόχο, τι υπάρχει ήδη και το χρονοδιάγραμμα. Απαντά προγραμματιστής μέσα σε δύο εργάσιμες.