Giter VIP home page Giter VIP logo

Comments (7)

ldruschk avatar ldruschk commented on July 23, 2024 2

I can't really give a complete overview, but as far as getting the Engine running locally is concerned, the usage instructions from the Readme should be sufficient. Note that starting the EnoFlagSink before the EnoEngine will fail at the moment, this is a known bug tracked in #124

EnoLauncher waits for tasks to be added to the database by the EnoEngine and sends them to the checkers via HTTP and stores the results once it receives them. EnoFlagSink listens for flag submissions by the teams and adds them to the database. EnoEngine is responsible for creating the tasks for EnoLauncher at the beginning of each round as well as calculating the points at the end of each round, based on the submitted flags from EnoFlagSink and checker results from EnoLauncher.

EnoCore and EnoDatabase are just some common classes and the database project (I think).

EnoChecker is a checker library written in C#, although that does not really fit into this repository as it is not related to the Engine itself. https://github.com/enowars/enowars4-service-gamemaster might be a good reference on the usage. I assume DummyChecker and SampleChaker are somehow related to this.

FlagShooter was used in the past to stress test the flag submission endpoint, but I don't think this was used/maintained in quite some time.

Testsetup looks like it should probably be deleted, at least I don't think this is working.

@Trolldemorted and @Savallator should be able to correct me if I'm wrong somewhere and are probably able to create a more detailed Readme

from enoengine.

ldruschk avatar ldruschk commented on July 23, 2024 2

I have also added the most recent ctf.json from the last Bambi CTF, the older sample ctf.jsons might no longer work since we changed stuff in the ctf.json spec quite a lot

https://github.com/enowars/EnoEngine/blob/master/ctf.bambi5.json

from enoengine.

Savallator avatar Savallator commented on July 23, 2024 1

Flagshooter was working after Enowars 4 at least, i am quite confident it should work without needing to change much.
DummyChecker is a Checker that always returns ok, you can use that for performance testing. It is made to be super fast, so it does not use JSON Serialization but constant result strings.
In contrast, SampleChecker is kind of the same, but has the standard procedure a checker should use. This one might need some more polish to adhere to the recent changes.
Testchecker is gone now, that was old stuff.
In EnoCore is basically the Classes for JSON stuff, e.g. Scoreboard, Config, Checkertaskmessage, Logging.
EnoDatabase contains the models for the Postgres Database.
The Startup Instructions in the Readme should be up to date.
For dev, i would recommend either Visual Studio 2019 (recommended if debugging is needed, although a local setup is a bit more complicated, and you of course also need the Database then) or Visual Studio Code.

from enoengine.

gehaxelt avatar gehaxelt commented on July 23, 2024

👍 for more details in the README :-)

from enoengine.

DanielHabenicht avatar DanielHabenicht commented on July 23, 2024

Also, some information on how to run all of the projects would be appreciated.
E.g. in EnoChecker you are loading an assembly (where from?) and there is a multitude of errors: I had an old IDE

from enoengine.

Trolldemorted avatar Trolldemorted commented on July 23, 2024

EnoDatabase contains the models for the Postgres Database.

The db models are in EnoCore too, EnoDatabase contains all functions the other projects (Engine, Launcher, FlagShooter) need to interact with the postgres

from enoengine.

DanielHabenicht avatar DanielHabenicht commented on July 23, 2024

just a reminder for myself: https://mrin9.github.io/RapiDoc/examples/themes.html#post-/pet

from enoengine.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.