Compare commits

...

3 Commits

Author SHA1 Message Date
Bottersnike 0597d90481 Update eaapi 2022-02-04 01:12:31 +00:00
Bottersnike 2f446a8d06 Server code 2022-02-04 01:09:08 +00:00
Bottersnike 629fc11ba4 Server code 2022-02-04 01:08:54 +00:00
5 changed files with 58 additions and 6 deletions

40
README.md Normal file
View File

@ -0,0 +1,40 @@
# EAAPI
These scripts should be considered complementary to the documentation, not the
other way round. Experimental or unconfirmed this may be present here, however
the doc pages should for the most part only contain confirmed information.
If you came here looking for a complete e-Amusement implementation, you
probably want https://github.com/DragonMinded/bemaniutils instead.
# Requirements
Rather than rolling my own ARC4 and Triple-DES implementations (why does everyone seem to do that?)
I instead opted to just use `pycryptodome`. `lxml` is required for the parsing of string packets,
but is not a hard dependency.
# Keys
In order to run this code, some encryption keys need loaded in. I have opted to not include them in
this repo because I didn't really feel like doing that. May or may not change that stance later.
For now, copy `eaapi/keys.template.py` to `eaapi/keys.py`, and fill in the blanks. If you're
following along with docs, you already have the values you need. Otherwise, I trust you can figure
out somewhere to find them. `CARDCONV_KEY` is only required if you plan to make use of `cardconv`.
## `eaapi/`
The actual implementation of stuff.
## `tests/`
An incredibly incomplete test suite. Run with `test` if you're on windows and lazy.
## `server-dummy/`
A super barebones e-Amusement server that's able to start a surprising number of games.
Largely exists as a proof of concept, and as a testing ground for specific endpoints without having
the overhead of an entire EA server running.
## `server/`
A less barebones server, used for experiementing with more complex behaviours. This probably won't
get pushed until it's had a significant tidy.
## `proxy/`
An e-Amusement server designed to proxy requests to a different upstream server, while allowing the
observation of requests as they're made. As above, probably won't push this for a bit.

View File

@ -1,10 +1,15 @@
@echo off
for /D %%G in (%CD%\*) do if exist %%G\.git (
set BASE=%CD%
for /D /R %%G in (*) do if exist %%G\.git (
cd %%G
echo ================================================================
echo %%G
echo ================================================================
git %*
cd ..
cd %BASE%
)
echo ================================================================
echo %CD%
echo ================================================================
git %*

View File

@ -1,15 +1,16 @@
@echo off
for /D %%G in (%CD%\*) do if exist %%G\.git (
set BASE=%CD%
for /R /D %%G in (*) do if exist %%G\.git (
cd %%G
set RESULT=
for /f %%i in ('git status -s') do (set RESULT=%%i)
if defined RESULT (
git add %*
git add .
git commit %*
set ANY=1
)
cd ..
cd %BASE%
)
if defined ANY (

2
eaapi

@ -1 +1 @@
Subproject commit e8ccee4a104962d2b8294ffb322b0ae33c6691a9
Subproject commit af5dfb3f6c908a6e1efbdfa99adc80a24217cf96

View File

@ -5,6 +5,12 @@ for /D %%G in (%CD%\*) do (
git submodule update --init %%~nG
)
rem Special case for eaapi.server, unfortunately
set base=%CD%
cd eaapi\eaapi
git submodule update --init server
cd %base%
for /D %%G in (%CD%\*) do if exist %%G\requirements.txt (
py -m pip install -r %%G\requirements.txt
)