phasecorex / docker-ut2004-server Goto Github PK
View Code? Open in Web Editor NEWDocker image for a UT2004 server, running as a non-root user
License: GNU General Public License v3.0
Docker image for a UT2004 server, running as a non-root user
License: GNU General Public License v3.0
When the game server (ucc-bin) attempts to run, it gives an error "MissingIni"
I verified the .ini symlinks were active in the docker image. I even created a non-symlinked copy in the /data/server/System folder and tried to run with it as the argument and it still gives a MissingIni error.
Your install script adds addon Paths
entries, but it also needs to add a CacheRecordPath
entry for the addons.
e.g. my ini has
[Core.System]
...
CacheRecordPath=../System/*.ucl
CacheRecordPath=/data/addons/System/*.ucl
...
The second line is necessary e.g. for TeamArenaMaster show show up in the webadmin when added to addons instead of directly to server.
Hi!
first of all, thanks for the great work and keeping those games alive! :-)
I'm running your image in a docker-compose setup for my upcoming LAN Party :
version: "3.7"
volumes:
ut2004:
name: ut2004
services:
ut2004:
image: phasecorex/ut2004-server
container_name: ut2004
ports:
- 10.0.0.11:7777:7777/udp
- 10.0.0.11:7778:7778/udp
- 10.0.0.11:7787:7787/udp
environment:
CD_KEY: xxxxx-xxxxx-xxxxx-xxxxx
PUID: 1000
volumes:
- type: volume
source: ut2004
target: /data
I changed the master server to openspy. But I can't see the server in UT2004's LAN browser.
Output of the container is :
Starting with UID/GID: 1000/1000
Starting server...
Executing Class Engine.ServerCommandlet
Browse: DM-Antalus?Name=Player?Class=Engine.Pawn?Character=Jakob?team=255?game=xGame.xDeathMatch
Collecting garbage
Purging garbage
Garbage: objects: 36651->36645; refs: 417402
Game class is 'xDeathMatch'
Fixing up DM-Antalus
Bringing Level DM-Antalus.myLevel up for play (35) appSeconds: 2.044885...
GameInfo::InitGame : bEnableStatLogging False
UdpServerQuery(crt): Port 7787 successfully bound.
Resolving master0.gamespy.com...
MasterServerUplink: MasterServerGameStats not found - stats uploading disabled.
Defaulting to false
Defaulting to false
Resolving utmaster.openspy.net...
Loading Available Maps
Loading Game Types
xWebAdmin.UTServerAdmin Initialized on port 8080
MasterServerUplink: Resolved utmaster.openspy.net as 157.245.212.59.
AInternetLink Resolve failed: Can't find host master0.gamespy.com (HOST_NOT_FOUND)
UdpGameSpyUplink: Failed to resolve master server address, aborting.
MasterServerUplink: Connection to utmaster.openspy.net established.
Approval APPROVED
Master server assigned our MatchID: 1234
Do you have any idea what I could be missing here..?
Thanks a lot,
Best regards,
Pascal
Does this image work on any arm processor?
Hello @PhasecoreX!
First of all, thank you for your awesome work in dockerizing the dedicated servers for UT99 and UT2004!
Today I tried to deploy a UT2004 server using your image and found that the GDrive link always responds with a "this file may contain viruses" banner, and now there's no confirm
field in the cookie the server sends to the user. After some digging around I found that the confirm
cookie is now always t
, but now we also need to send a unique-for-every-request UUID that is contained inside the banner page:
<form id="download-form" action="https://drive.usercontent.google.com/download" method="get">
<input type="submit" id="uc-download-link" class="goog-inline-block jfk-button jfk-button-action" value="Download anyway">
<input type="hidden" name="id" value="XXXX">
<input type="hidden" name="export" value="download">
<input type="hidden" name="confirm" value="t">
<input type="hidden" name="uuid" value="9a863b7f-d1d3-43aa-8b4f-f9352715d79e">
</form>
I'm currently trying to come up with a good enough way to parse it and will ping you back if I get any meaningful results.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.