Liest das hier jemand, der daran interessiert ist den ghost++ Code zu strippen und in ein Frontend/Backend zu splitten? Ich wäre daran interessiert, dann 2 Sockets zu generieren, mit folgenden Specs, dabei das normale Parsing aller Kommandos zu unterbinden.
Alles anzeigen
Wenns unbedingt nötig ist, kann man auch über XML diskutieren...
Quellcode
- 2x FIFO/Socket, serialisation: YAML/JSON
- - Frontend aka Chat
- - Backend aka Hosting
- Frontend
- OUT: all (channel/ingame) chat data as (YAML) # Don't send messages from not yet spoof checked nicks
- nick: "foo"
- context: <#channel, game id, whisper> # channel as in #channel to distribute
- message: "!foo bar baz"
- IN: data that should be sent to a channel/nick
- type: [channel|nick]
- receiver: <channel/nickname>
- msg: <msg>
- Backend
- OUT: game state changes, join/leave in staged games...
- type: [created|join|leave|spoof-checked|drop|end|...]
- => further data
- created → game_id
- join → nick
- leave → nick
- spoof-checked → nick
- started → game_id
- end → game_id, replay # This part might be discussed if not LAN
- IN: create, start, abort, replay, kick, ...
- type: [create, start ...]
- => further data
- create → <none>
- start → game_id
- abort → game_id
- kick → game_id, nick
- Further toughts:
- game_id will be represented by <prefix>-<id>-<suffix>, where <suffix> is one char that gets repeated as often as needed to create a unique game name. Both prefix and suffix are define in the config file.
Wenns unbedingt nötig ist, kann man auch über XML diskutieren...