Beratung zu Continuous Integration, Daily Build & agiler Enwicklung in SAMP Projekten


  • Hallo liebe Breadfish Community
    in einem Projekt mit einem SA:MP Server haben wir den gesamten Entwicklungsablauf auf Agile Softwareentwicklung mit Daily-Build und Continuous Integration umgestellt.


    Wir haben den gesamten Entwicklungsprozess auf ein für SA:MP Entwicklung untypisch professionelles Level gehoben und konnten die Effizienz der Entwickler, gemessen an der Arbeitszeit in Relation zugeschriebenem Code, um mehr als 50% steigern.


    In diesem Beitrag möchte ich kurz erklären in wieweit wir den Vorgang umgestellt haben, wie das Resultat für die Entwickler aussieht und was getan werden muss um auch bei euch diese Methoden einzuführen.


    ___________________________________________________________


    VORAB:


    Dieses Angebot richtet sich nicht an Spaßprojekte! Uns ist bewusst, dass die Preise hierfür SA:MP untypisch sind jedoch zeigen die Referenzen dass es sich für größere Server durchaus lohnt.


    ___________________________________________________________


    Was ist agile Softwareentwicklung und was bringt es in der Entwicklung von Gamemodes?
    Agile Softwareentwicklung bezeichnet einen Ansatz im Prozess der Transparenz und Flexibilität erhöhen soll. Ziel ist es die Software schneller live zu bringen und somit Zeit zu sparen. Wir arbeiten hierbei mit Scrum und schulen das gesamte Projektteam mit Projektmanagement-Software.


    Was genau Scrum ist und wie es funktioniert findet ihr hier:
    https://de.wikipedia.org/wiki/Scrum
    https://scrum-master.de/Was_is…_auf_einer_Seite_erklaert


    ___________________________________________________________


    Was ist Continuous Integration & Daily Build?
    Was genau das ist findet sich ebenso in den gängigen Suchmaschinen, ich möchte hier erklären wie es bei unserem Kunden funktioniert.


    Alles basiert darauf, dass die Scripter ihre Änderungen in ein Repository pushen und dort mitgeben was mit dem jeweiligen Push geändert wurde:


    Das sollte zu heutigem Stand ohnehin bei jedem Server der Stand sein.


    Nun gibt es folgenden Ablauf:

    1. Daily Build
    Jeden Tag um 06:00 Uhr morgens nimmt der Buildserver die gepushten Änderungen aus dem Repository, kompiliert sie vollautomatisch auf den Testserver und stellt sie über ein Webfrontend den Entwicklern bereit. Danach wird der Testserver neugestartet und die Entwickler werden über ein Nachrichtentool (Slack) darüber informiert.


    Sollte etwas nicht funktionieren, so erhält der Entwickler aus dessen Änderungen ein Fehler resultiert eine direkte Nachricht in Slack und er wird gebeten den Fehler zu beheben.


    Die Servertester erhalten somit jeden Morgen ab 06:00 Uhr die aktuellste Version und können mit dem Testen beginnen.


    2. Automatic Update
    In diesem Fall wird es so, dass jeden Sonntag um 16:00 Uhr alle getesteten Änderungen auf dem Live-Gameserver eingespielt werden. Hier läuft es genauso ab bis die AMX im Webfrontend bereitgestellt wurde. Im Anschluss loggt der Build-Server sich als Administrator auf dem Gameserver ein sendet eine Nachricht an alle User, dass in 5 Minuten ein Update durchgeführt wird. Nach den 5 Minuten wird die Live AMX ersetzt und der Gameserver wird neu gestartet. Sollte es hier einen Fehler geben wird die zuletzt lauffähige Version wieder eingespielt. Als krönender Abschluss werden die Änderungen als Releasenotes im Forum (WBB 5) gepostet.


    Da die hier erstellte AMX bereits getestet ist kann es hierbei nicht zu Fehlern kommen. Vorausgesetzt alle beteiligten arbeiten richtig.


    ___________________________________________________________


    Interesse geweckt?
    Wir bieten hier die Beratung und betreute Umsetzung dieser Vorgänge bei eurem Projekt an.

    Ich bitte um Verständnis, dass man sich jedes Projekt individuell anschauen muss um dann einen Preis zu errechnen.

    Alles in allem liegen wir jedoch bei einem Preis von zwischen 400 € und 600 € zzgl. 19 % MwSt. Ihr erhaltet davor ein fixes Angebot.


    Ebenso kommen dazu noch Kosten i. H. v. ca. 30 $ jährlich für Softwarelizenzen dazu. Ebenso benötigt ihr einen Root- oder V-Server


    Als Zahlungsmethoden steht Überweisung zur Verfügung.
    Ihr erhaltet eine Rechnung einer deutschen Gesellschaft inkl. MwSt.


    Bei Fragen stehe ich hier im Thread oder per PN gerne zur Verfügung.


    ___________________________________________________________


    Beste Grüße
    xinn

    Einmal editiert, zuletzt von xinnu ()

  • Sowas lässt sich auch einfach kostenlos in 1-2 Stunden aufsetzen auf einem VPS, verstehe also nicht wie ihr auf die €400 - €600 kommt.
    Wir nutzen https://buddy.works/ der bei jedem Git Release den Gameserver updated und anschliessend den Server neustartet. Bei jedem Push auf einem Dev-Branch, wird der Testserver geupdated & restarted, hat ca. 30 Minuten gedauert um es aufzusetzen.

  • Sowas lässt sich auch einfach kostenlos in 1-2 Stunden aufsetzen auf einem VPS, verstehe also nicht wie ihr auf die €400 - €600 kommt.
    Wir nutzen https://buddy.works/ der bei jedem Git Release den Gameserver updated und anschliessend den Server neustartet. Bei jedem Push auf einem Dev-Branch, wird der Testserver geupdated & restarted, hat ca. 30 Minuten gedauert um es aufzusetzen.

    Erst sind es 1-2 Stunden, dann sind es 30 Minuten?


    Es geht hier nicht darum einfach nur das einzurichten, es geht darum den gesamten Entwicklungsprozess und die Produktplanung sauber zu strukturieren und die Entwickler zu schulen.

  • Ok, dann sind es also 1-2 Stunden für den VPS, dann 30 Minuten für die Konfiguration von buddy.works (hat einige Nachteile, aber egal)
    Dann brauchst du noch einen VPS für den Repository Service, auch den musst du konfigurieren. Das selbe mit dem Projektmanagement-tool.
    Dann musst du die Scripter schulen, eine Dokumentation schreiben und testen. Nachdem das Projekt abgeschlossen ist kommen noch Verwaltungsaufgaben dazu wie z. B. Rechnung schreiben, nachhalten dass diese Bezahlt wird usw.


    Alles in allem hast du für das Projekt also mindestens 6-10, bei einem Standardstundensatz bist du also weit über den 400 € - ich denke mit 400 € - 600 € haben wir uns gut platziert.

  • Hört sich Interessant an, und die Preise sind auch passend. Es wird hier ja nicht nur die Einrichtung, sondern auch eine komplette Schulung als Dienstleistung angeboten. In diesem Sinne sind das ganz normale Preise.
    Viele SAMP Projekte die gerne groß werden wollen denken das es alles für Lau gibt durch irgendwelche Sponsoren... Zwar vergeben wir auch eine Menge an Sponsorings... Aber naja. Wer Erfolg und somit Gewinn machen möchte muss Investieren... So ist das Leben. Du willst einen Job? Dann musst du Lernen.
    Eigentlich ganz Easy zu verstehen oder?


    Klar sind 400-600€ für ein Reallife-Copy&Paste Skript was bei Samp4you/Nitrado oder co läuft viel... Aber diese Menwchen sind ja auch nicht die Zielgruppe dieser Dienstleistung.
    Wer später als Dev Arbeiten möchte Profitiert von sowas... Trust me... Wir führen bei SEMPERCODING Grade auch sowas ein.


    //Handy //Müde


    Mein Tipp an den OP, erweitert eure Dienstleistung auf GTA:V Multiplayer Projekte... Da findet Ihr deutlich mehr Boden als bei SA:MP/MTA:SA

  • Man sollte seine Preise an die Zielgruppe anpassen, oder seine Schulung nicht hier verkaufen.
    Die meisten können sich kaum die Server leisten, eine Schulung für das 50 fache wird das nicht mit drinnen sein.


    Die Preise sind Ok, und viel Glück aber ihr sprecht hier einfach die falsche Zielgruppe an.

  • Man sollte seine Preise an die Zielgruppe anpassen, oder seine Schulung nicht hier verkaufen.
    Die meisten können sich kaum die Server leisten, eine Schulung für das 50 fache wird das nicht mit drinnen sein.


    Die Preise sind Ok, und viel Glück aber ihr sprecht hier einfach die falsche Zielgruppe an.

    Wie kommst du darauf, dass ein Forum voller Hobby Entwickler und co. die falsche Zielgruppe ist?


    Die Zielgruppe ist vollkommen die richtige - Leute die ihren eigenen Server aufbauen, scripten lernen oder schon können sind durchaus ambitioniert auch eine berufliche Richtung in der Entwicklung einzuschlagen. Genau an solche Leute richtet sich auch das Angebot. Dass das für einen SA:MP Server ein wenig überzogen ist ist uns allen bewusst, für die persönliche Weiterentwicklung ist das Angebot allerdings mehr als nützlich und fair kalkuliert.

  • Wie kommst du darauf, dass ein Forum voller Hobby Entwickler und co. die falsche Zielgruppe ist?

    Ich denke ich habe mich falsch ausgedrückt, Hobby Entwickler trifft es besser. Es geht nicht darum das hier keine Entwickler sein sollen, es geht darum das keiner davon vermutlich bereit ist für die Schulung so eine Menge von Geld zu zahlen. Wenn ich bedenke das die meisten bei einem 50€ Unikat WSC Design rumweinen, wie läuft das dann hier?

  • Morgen.


    Klar ist das für viele ein "Schlag" ins Gesicht wenn man solch eine hohe Summe sieht, den nicht jeder kann diese Summe entsprechend auftreiben.
    Man muss bedenken das dies für viele dennoch eine gute Investition ist das jetzige / neu kommende Projekt damit gut aufzustocken und auf einem anderem Level zu führen als alle anderen Projekte. Die Leute die diese Dienstleistung anbieten sind Personen welche die Erfahrung in solchen Sachen besitzen und entsprechend ist auch die Summe - da dies auch keine 1-2 Stunden Arbeit ist.


    ((Wenn aber auch einige hier für mehr als 100 Euronen eine Forenlizenz oder Script's erwerben können welche z.T massig hier vertreten sind dann wird das hier wohl auch nich wirklich ein Problem sein))


    Im Grunde genommen eine gute Announce und wie schon ein Vorredner geschrieben hat - eventuell eine Ausweitung auf GTA:V wäre eine gute alternative.
    - Notfalls auch in anderen Sequenzen.

  • Wie im Eingangspost schon erwähnt richtet es sich nicht an Spaßprojekte, es gibt ja durchaus SA:MP Projekte die durch den Verkauf von Donator oder ähnlichem vierstellige Umsätze generieren.
    Wenn du bei Ebay Kleinanzeigen einen Ferrari einstellst ist auch nicht jeder Nutzer deine Zielgruppe, aber 1-2 sind vielleicht auf der Suche nach genau diesem Ferrari.


    Es ist auch kein Problem das zu GTA:V oder anderweitig umzubauen, wir sind spezialisiert auf Enterprise-Software und wurden für dieses SA:MP Projekt angefragt - daher hier das Angebot.

  • Man muss bedenken das dies für viele dennoch eine gute Investition ist das jetzige / neu kommende Projekt damit gut aufzustocken

    Ich finde was xinnu hier anbietet ist Top! Als Entwickler kann man das sehr gut gebrauchen, also da ist kein Zweifel. Aber ich gehöre leider unter die Sorte von Programmierern die nicht das Geld haben um diese Schulung zu bezahlen, da gebe ich es lieber in die Server von dem Projekt aus. Aber Preis stimmt, und der Nutzen ist aufjedenfall da! Aber wir sind halt hier in Breadfish, es ist egal ob GTA:V mit 500 Spielern, oder SA:MP mit irgendeinem 08/15 Server, fakt ist das kein Server davon das nötige Kleingeld hat, die Entwickler sind meistens nicht die Projektgründer somit muss entweder der Entwickler selber dafür aufkommen für ein Projekt das eventuell ihn irgendwann rauswirft oder man fragt die Projektleitung die meistens allerdings darin keinen Sinn sehen wird da die keine Ahnung von dem Programmierbereich haben.


    In Breadfish treiben sich nun mal meistens Leute rum die im Monat vielleicht so um den dreh rum verdienen oder eben das Taschengeld nicht ausreicht. :)



    Wenn du bei Ebay Kleinanzeigen einen Ferrari einstellst ist auch nicht jeder Nutzer deine Zielgruppe,

    Ebay Kleinanzeigen hat eine hohe Reichweite in alle Zielgruppen, Breadfish hat das nicht. Ein Großteil besteht aus Kindern und jung Erwachsene. Das ist der Grund warum hier noch nie ein Ferrarie zum Verkauf angeboten wurde.

  • Der großteil hier geht noch zur Schule...
    Geht damit in ein Entwickler Forum wie spieleprogrammiere oder andere mit dem Preisen oder Angebot.
    Ich denke da seit ihr definitiv besser dran und erfolgreicher.


    Nicht böse gemeint nur die meisten machen es aus Spaß noch. Aber größere Projekte gibt es kaum und Umsatz mit SAMP? Das war früher jetzt kann man froh sein überhaupt ein paar Spieler zu bekommen zumindest in den deutschen Raum hier.
    Daher halte ich eine Investition für kein Gewinn.
    Lieber für aktuelle und kommende Trends wie bsp. GTA V oder halt für Projekte in der Spiele Entwicklung.

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

  • Zumal die meisten Leute hier schon Probleme mit den elementaren Programmierkenntnissen selbst haben. Da bringt Ihnen eine CI/CD Pipeline auch nicht wirklich viel.


    Zumal das ganze ohne größere Deployment Prozesse die automatisiert werden sollten bzw. ohne automatische Tests (Komponenten-/Integrationstests) eh mit Kanonen auf Spatzen schießen ist.


    Ich würde glatt behaupten 95% der SA:MP Projekte benutzen nicht mal eine Versionierungssoftware.

  • Ich würde glatt behaupten 95% der SA:MP Projekte benutzen nicht mal eine Versionierungssoftware.

    Das ist ja schon schlimm genug, alleine deswegen sollte man das schon umsetzen.



    ohne automatische Tests (Komponenten-/Integrationstests)

    Haben wir auch schon umgesetzt, nur das alles zu beschreiben würde den Rahmen sprengen.



    Geht damit in ein Entwickler Forum wie spieleprogrammiere oder andere mit dem Preisen oder Angebot.

    Uns geht es nicht darum zwanghaft Kunden zu aquirieren, wir wurden nur von dem Server angefragt und haben das Projekt dann umgesetzt. Da wir gesehen haben dass es dem Team viel bringt bieten wir es hier auch an. Wenn sich etwas ergibt ist das super, wenn nicht dann haben wir vielleicht Möglichkeiten aufgezeigt und andere zum Nachdenken angeregt. Ist ja nun auch kein Hexenwerk.


    Ob das nun mit SAMP oder GTA:V MP umgesetzt wird ist vollkommen egal. Integrieren kann man das überall.