SkillAgentSearch skills...

Swbf2admin

Star Wars Battlefront II (2005) server management application

Install / Use

/learn @jweigelt/Swbf2admin
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

SWBF2Admin

A modern, easy-to-use server manager for Star Wars Battlefront II (2005) dedicated servers

Getting Started

These instructions will get you a minimal SWBF2Admin setup up and running. SWBF2Admin is highly configurable - for advanced configuration techniques or more detailed instructions, please also check out the "Advanced" section of this document.

Prerequisites

SWBF2Admin requires the following software to be installed on the host machine:

If you are planning on hosting a GoG/Steam server you will also need a GOG Galaxy account owning SWBF2.

Using the Steam client for hosting is currently not supported.

Minimal setup

Extract all files to a destination of your choice, run SWBF2Admin.exe. You will be prompted to set webadmin credentials. Enter username and password of your choice. Close SWBF2Admin afterwards.

Navigate to the ./server folder in SWBF2Admin's installation directory. Right click RconServer.dll -> Properties. Check the Unblock option in the lower section of the dialog. Do the same for dlloader.exe.

Should you ever forget your credentials, run reset_webcredentials.bat. This will delete all web admin accounts and prompt you for new default credentials.

Optional: using the original server package

If you want to run the old dedicated server, open ./cfg/core.xml, set

  <ServerType>Gamespy</ServerType>
Optional: allowing remote access to webadmin

By default, the web panel will only be accessible from the local machine. To change this, open core.xml and adjust

  <WebAdminPrefix>http://localhost:8080/</WebAdminPrefix>

If you do not have a domain pointing to your server, you can also just use the server's IP-Address, for example

  <WebAdminPrefix>http://192.168.1.234:8080/</WebAdminPrefix>

If you have any active firewall, the webadmin port (8080 TCP in this case) has to be unblocked.

If you prefer to use an encrypted connection, you may change the protocol specified in WebAdminPrefix from http:// to https://. Note that when using HTTPS, a matching SSL certificate has to be installed into your machine's certificate store.

Optional: enabling runtime managament

If you want to use features like ingame commands, announce broadcast, statistics ..., runtime management has be enabled. To enable runtime management, open ./cfg/core.xml, set

  <EnableRuntime>true</EnableRuntime>
! When using runtime management, the !gimmeadmin command will add the first user to execute
! it to the "Admin" group. Make sure you are the first one! The command is deactivated after one use.
! When using the GOG version, set GamePort & RconPort in Server Settings to the same value.

Preparing the gameserver

Depending on which platform you want to use, EITHER follow the "GoG / Steam" OR the Gamespy / "Swbfspy" guide.

GoG / Steam
! Neither the GOG communications server nor GOG Galaxy works over Windows Remote Desktop. 
! You can use tools like VNC or Chrome Remote Desktop instead. 
! Launching any part of the server over Windows Remote Desktop causes it to not show up in the server listing.
  1. Install GOG Galaxy (https://www.gog.com/galaxy)
  2. Using GOG Galaxy, download Star Wars Battlefront II
  3. In GOG Galaxy, open Battlefront II in your library. Click on More -> Manage installation -> Show folder
  4. A Explorer Window will open, open GameData and copy all contents to the ./server folder in SWBF2Admin's installation directory

Do not uninstall the original game or GOG Galaxy after copying the data.

Gamespy / "Swbfspy"
  1. Install the original dedicated server package
  2. Copy the contents of it's installation folder (the one containing BattlefrontII.exe) to the server folder in SWBF2Admin's installation directory

First launch

  1. Start SWBF2Admin.exe
  2. Using your web browser, open the web panel. By default, the web panel is accessible at http://localhost:8080/
  3. Go to Server Settings -> General, adjust server settings to your liking. Make sure that a network adapter is selected under bind address
  4. Go to Server Settings -> Map rotation. Add maps using drag&drop.
  5. Go to Dashboard, click on Server status -> "Start
  6. If you chose to enable runtime management, join your server in game and enter !gimmeadmin in chat

Advanced

Using the web panel

Dashboard

The dashboard page show status information on your server. It also provides the big not-so-red button which is used to start and stop your server. When your server is running, the status information will be updated automatically every 20~30 seconds.

The dashboard's icon in the navigation bar will change color depending on your server's current status.

  • red: server is offline
  • green: server is online
  • yellow: server is starting/stopping

Players

The players page displays a list of all players who are connected to the server. The list is updated automatically every 10~15 seconds.

Right-clicking a player will bring up a context menu containing buttons for quick administation.

  • Swap player's team
  • Kick player
  • Ban player

If you click on "Ban player", a dialog will open asking you to specify the ban's duration and the ban's type. If "permanent" is selected, the duration field will be ignored.

Chat

The chat page provides you a live feed of the server's ingame chat. You can also send messages which will be shown ingame. Add a /admin prefix to send administrative commands. The command output is sent back to your browser.

Bans

The bans page lets you manage all banned players. You'll find various filter options in the page's top section. Text fields don't have to be exact matches. Similar results will be shown as well.

  • Player: banned player's nick
  • Admin: name of the admin who submitted the ban
  • Reason: reason specified for the ban
  • Date: only bans which were created after the given date will be shown
  • Expired: also show expired bans
  • Type: whether the player's IP-Address or CD-Key was banned

To delete a ban, just right click it. A context menu will show up - click on "Delete ban".

Settings

Once you made any changes, the page will notify you that the changes weren't saved yet. Five seconds after you made your last change, all settings will automatically be saved. Settings are also saved immediately if you change to another page, so you don't have to wait.

Settings / General

This page lets you change your server's basic parameters.

Settings / Game

This page lets you change your parameters adjusting the gameplay.

Settings / Map Rotation

This page let's you adjust your servers map rotation. Simply grab the map you want to add from the table on the left. Drag&drop it to the table on the right. A dialog will open, asking you to select the game modes you want to add. After doing so, click OK and the maps will be added. If you want to cancel the dialog, just click on the red cross in the top right corner. This will leave your map rotation untouched.

If you want to remove a map from the rotation, just drag&drop it from the right table to the left table.

Users

If you want to edit your webadmin username / password or want to add additional users, you can do so on this page. Right-clicking on any user will give you the options to delete or edit a user or create a new one.

If you're editing an existing user but don't want to change his password, leave the password fields untouched. The password will not be updated. If you chose create or edit, a dialog box will open which lets you edit the users properties.

Notes:

  • The delete option won't appear for your own account

Statistics tracking

To enable statistics tracking, open ./cfg/game.xml, set

<EnableGameStatsLogging>true</EnableGameStatsLogging>

if you want to track player statistics as well, open ./cfg/players.xml, set

<EnablePlayerStatsLogging>true</EnablePlayerStatsLogging>

Automatic announce broadcasts

Configuring the announce scheduler

Open ./cfg/announce.xml

  • Set Enable to true to enable automatic announce scheduling
  • Adjust Interval to configure the delay between broadcasts

You can now add as many announces as you like to the <AnnounceList> attribute. Announces must have the following format:

<Announce EnableParser="true/false" Message="YourMessage"/>

Variables

If EnableParser is set to true, the Announce is parsed before broadcasting it. The following tags are replaced:

|Tag|Description| |------|------| |{s:map}|current map| |{s:ff}|friendly fire enabled (0/1)| |{s:gm}|gamemode| |{s:heroes}|heroes enabled (0/1)| |{s:maxplayers}|max. players| |{s:nextmap}|next map| |{s:password}|server password| |{s:players}|current playercount| |{s:ip} |server's ip-address| |{s:name}|servers name| |{s:t1score}|team 1's score (CTF)| |{s:t2score}|team 2's score (CTF)| |{s:t1tickets}|team 1's reinforcements (CON/ASS/HUNT)| |{s:t2tickets}|team 2's reinforcements (CON/ASS/HUNT)| |{s:version}|server's version| |{g:nr}|current game's id| |{banner}|SWBF2Admin's version infos| |{t:(format)}|current time formatted by given format string|

Using the {t:(format)} tag

The {t:(format)} tag can be used to display the current time. Replace (format) with a format string. The given formatter has to be a .NET-style format string. (see https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings for reference)

Example for a broadcast displaying the current time in HH:mm:ss format:

<Announce EnableParser="true" Message="Current time {t:HH:mm:ss}"/>

Automatic conditional broadcasts

Conditional broadcasts can be used to trigger custom messages if a special event is observed. Special eve

View on GitHub
GitHub Stars60
CategoryDevelopment
Updated29d ago
Forks20

Languages

C#

Security Score

95/100

Audited on Mar 6, 2026

No findings