Web based SWBF2 (Steam/GoG & Swbfspy) server manager

Started by LeKeks, February 07, 2018, 06:47:03 PM

Previous topic - Next topic


edit:  local link:  http://www.swbfgamers.com/index.php?action=downloads;sa=view;down=1576


I'd like to share a new server management tool for SWBF2.

It supports Swbfspy dedicated servers as well as GoG/Steam ingame "dedicated" servers (running the game on a rental machine).

Documentation (readme.md) is not complete yet, but I want to release the tool anyway as it can be used to host playable servers on GoG/Steam.
Long story short: this is somewhat of a pre-release. I'll try to clean everything up and improve the documentation over the next months. If you have any questions, please ask!

Feature overview:

Server management:
- supports SWBFSpy (dedicated) & GoG (ingame) servers (Steam only)
- automatic restart on crash

GoG (Steam) server sustaining for DS / VPS:
- DX loading for running the game on servers w/o GPU
- automatic "process not responding" detection & restart
- automatic map hanging detection & fix / restart if fix fails
- disables rendering during runtime to reduce lag (using /norender doesn't work when using the Steam version)

Web interface:
- remote management from anywhere using anything that runs a modern web browser
- configurable webadmin users

Only for dedicated servers atm (support for GoG version might be added in the future):

Ingame commands:
- many pre made ingame commands for easy use
- custom commands can be scripted using LUA
- highly configurable command templates
- autocomplete for map- & player names
- map typo checking

Player groups & permissions:
- configurable player groups with custom join messages
- configurable permissions & permission groups
- easy ingame group administration using !rmgroup and !putgroup
- individual permissions can be assigned to every single command

Runtime .LVL modding:
- hexedit data files during runtime
- custom hexedits can easily be defined using standard XML
- controllable via in-game command

Announce scheduler:
- automatic announce broadcasting
- empty-server detection to prevent chat backlog
- supports various status variables

Ban management:
- external ban-management
- ip & keyhash support
- tempban support
- admin & reason tracking
- web based ban management

Statistics tracking:
- statistics are tracked for each individual player and each individual match
- various all-time calculations (win-rate, K/D etc.)
- player join tracking

- web based live chat feed including /admin command support
- web based player management (swap, kick ...)
- depending on application and personal preference, SQLite or MySQL database backend
- everything is highly configurable
The project is written in C# and 100% open source. Sources are available on gitub: https://github.com/jweigelt/SWBF2Admin.
Setup instructions can be found here: https://github.com/jweigelt/swbf2admin/blob/master/readme.md

I've been running it on my server ([EU] Assault | No Force on GoG/Steam) for ~1 month and fixed every bug I found.
I don't have the time to do full scale testing at the moment, so I'd say the project is in a beta-ish state right now.
More features are planned and will eventually be implemented in the future.

A few notes on running a GoG (Steam) server:
Only the Steam version is supported because the Galaxy client doesn't work via Remote Desktop. The sustaining functions will
not work with the Galaxy version as they rely on memory offsets.

You can do a simple hex edit so your BattlefrontII doesn't idle during launch.
This allows you to set a lower StartupDelay (set to 30000) value in ingameservercontroller.xml reducing
overall startup time by ~30s.
The application is configured to expect reduced startup time by default. If you don't want to do the edit, set StartupDelay to 60000.

You can use the .LVL files that came with the old dedicated server package (except shell.lvl). These files do not contain visual assets
and will therefore cause less stress on your machine.

Including Kaschyyyk in your map rotation is a very bad idea. It'll almost always crash on map reload.

I recommend using a modded common.lvl to reduce map loading time. If you don't use a modded common.lvl, the server will wait for 30s before loading the next map.

Instructions on how to do the hex edit as well as a modded common.lvl are included in mods.zip.

A compiled release is available at https://github.com/jweigelt/swbf2admin/releases.

- Yoni developed the concept of hex-editing .LVLs during runtime and wrote parts of the application
- AsLan developed the concept of connecting a RDP session to sustain a GoG ingame server
- BoMber found out that freezing and unfreezing the GoG version fixes map hanging
- Marauder74 had the idea to enable /admin commands in the web chat
- AnthonyBF2 came up with a modded common.lvl which loads the next map without delay
(if I forgot anyone please message me)

Any feedback is always welcome!

A few screenshots:


I'll leave a live demo up for a few days:
User: LeKeks, Pwd: test


Thanks for the release and thanks everyone that worked on it.   :cheers:
Quote from: Abraham Lincoln. on November 04, 1971, 12:34:40 PM
Don't believe everything you read on the internet



Kills are tracked using points, right? Doesn't that mean if the server has bots on, it will be inaccurate? Used the tool in the past when Yoni was running it on his GameMaster server. 


February 08, 2018, 08:51:20 AM #4 Last Edit: February 08, 2018, 08:57:26 AM by LeKeks
Thanks for the feedback!

I think Yoni was running "swbf2-adminhelper" which is a different program.
As for the current tool: Kills are queried from the gameserver and not calculated from points.


I want to bring my own server to work with SWBF2Admin.
Btw. thank you for the great work!

Unfortunately I was not able to make it work.
I did as the readme on the repository told me, but I have issues with
Quote-Copy the data folder from the dedicated server installation to your SWBF2 installation. Replace all files except shell.lvl!
-Copy the contents of the GameData folder that came with SWBF2Admin to your server's GameData folder
Where can I find the GameData folder? There is none in the release or the sourcecode and I am not sure, what I have to do here.

Thanks already for your help!


So I am trying to create my own server and it says that it's running, but in my SWBYSpy Battlefront II exe file it doesn't show up when I click the 'Join' tab. All I see are the regular dedicated servers for SWBFSpy.
Can you please help me? I have put the GameData folder's contents in the server folder already.



Anyder | Operations Excellence & Communication - SWBF & Player Engagement