Game Server: Difference between revisions
No edit summary |
No edit summary |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
[https://github.com/FlashpointProject/FlashpointGameServer Flashpoint Game Server] is a specialized proxy and web game server written in Go. The server acts as a local proxy that intercepts HTTP/HTTPS requests and serves content from archived game data stored in ZIP files | [https://github.com/FlashpointProject/FlashpointGameServer Flashpoint Game Server] is a specialized proxy and web game server written in Go. The server acts as a local proxy that intercepts HTTP/HTTPS requests and serves content from archived game data stored in ZIP files. | ||
All technologies uses the Game Server as a proxy. This means all the web-requests will be forwarded to this server. | |||
=== Technical stuff === | |||
The server starts two HTTP listeners bound to 127.0.0.1 | |||
* '''22500 -''' the proxy listener for applications | |||
* '''22501 -''' internal HTTP Proxy | |||
==== Request flow ==== | |||
Game requests `<nowiki>http://example.com/path/file.swf`</nowiki> . Proxy rewrites it to `<nowiki>http://127.0.0.1:22501/content/example.com/path/file.swf`</nowiki>. Internally traffic on 22501 is forwarded to the [[Zipfs|ZipFS]] server which responds with content from the gamezip-file on disk. | |||
If the ZipFS server is unable to handle the response the traffic is forwarded to [[legacy webserver]] on port 22600. | |||
[[File:State Machine Web Request.drawio.png|thumb|Flowchart showing the request flow from application through gamezip server.]] | |||
[[Category:Technologies]] | [[Category:Technologies]] | ||
Latest revision as of 14:59, 28 December 2025
Flashpoint Game Server is a specialized proxy and web game server written in Go. The server acts as a local proxy that intercepts HTTP/HTTPS requests and serves content from archived game data stored in ZIP files.
All technologies uses the Game Server as a proxy. This means all the web-requests will be forwarded to this server.
Technical stuff
The server starts two HTTP listeners bound to 127.0.0.1
- 22500 - the proxy listener for applications
- 22501 - internal HTTP Proxy
Request flow
Game requests `http://example.com/path/file.swf` . Proxy rewrites it to `http://127.0.0.1:22501/content/example.com/path/file.swf`. Internally traffic on 22501 is forwarded to the ZipFS server which responds with content from the gamezip-file on disk.
If the ZipFS server is unable to handle the response the traffic is forwarded to legacy webserver on port 22600.