init commit
This commit is contained in:
9
Dockerfile
Normal file
9
Dockerfile
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
FROM alpine:latest
|
||||||
|
|
||||||
|
RUN apk add --no-cache samba-server samba-common-tools
|
||||||
|
|
||||||
|
ADD start.sh /start.sh
|
||||||
|
|
||||||
|
RUN ["chmod", "+x", "/start.sh"]
|
||||||
|
|
||||||
|
CMD ["/start.sh"]
|
||||||
15
README
Normal file
15
README
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
This is my ready to go setup for a PS2 OPL server.
|
||||||
|
|
||||||
|
#How to get it up and running
|
||||||
|
Edit compose.yalm's paths `/your-path-here/` to wherever you want.
|
||||||
|
I personally clone this repo and set the path to it, so you can leave a copy of this repo alongside your games.
|
||||||
|
|
||||||
|
you want to connect your OPL to you're server IP and not the docker's.
|
||||||
|
enter GUEST in the user and leave password empty.
|
||||||
|
|
||||||
|
something something acquired copies legal something something.
|
||||||
|
|
||||||
|
general comments:
|
||||||
|
I don't remember exactly why it was so much of a pain to get this server up on a pi5, or at least find the correct combination of docker image and smb config.
|
||||||
|
but this one just werk^tm.
|
||||||
|
This is an amalgamation of things I found on the internet, I don't remember where I got them so no credit will be given, my b.
|
||||||
20
compose.yaml
Normal file
20
compose.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
services:
|
||||||
|
ps2smb:
|
||||||
|
container_name: ps2smb
|
||||||
|
hostname: ps2smb
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
volumes:
|
||||||
|
- /your-path-here/opl/smb.conf:/etc/samba/smb.conf
|
||||||
|
- /your-path-here/opl:/mnt/games
|
||||||
|
- /your-path-here/opl/start.sh:/start.sh:rw
|
||||||
|
ports:
|
||||||
|
- "445:445"
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- ps2_network
|
||||||
|
|
||||||
|
networks:
|
||||||
|
ps2_network:
|
||||||
|
driver: bridge
|
||||||
98
smb.conf
Normal file
98
smb.conf
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
# This setup works pretty well for OPL with a network link that travels through
|
||||||
|
# two UniFi switches and connects to a Samba server running inside Docker. The
|
||||||
|
# host OS is Debian with a ZFS filesystem and the container OS is also Debian.
|
||||||
|
# Latest Samba (4.11+).
|
||||||
|
|
||||||
|
[global]
|
||||||
|
# ======================
|
||||||
|
# General Samba settings
|
||||||
|
# ======================
|
||||||
|
log level = 1
|
||||||
|
workgroup = WORKGROUP
|
||||||
|
server string = PS2 Samba Server
|
||||||
|
server role = standalone server
|
||||||
|
log file = /dev/stdout
|
||||||
|
max log size = 0
|
||||||
|
|
||||||
|
# Disable printers.
|
||||||
|
load printers = no
|
||||||
|
printing = bsd
|
||||||
|
printcap name = /etc/printcap
|
||||||
|
printcap cache time = 0
|
||||||
|
disable spoolss = yes
|
||||||
|
|
||||||
|
pam password change = yes
|
||||||
|
map to guest = bad user
|
||||||
|
usershare allow guests = yes
|
||||||
|
create mask = 0664
|
||||||
|
force create mode = 0664
|
||||||
|
directory mask = 0775
|
||||||
|
force directory mode = 0775
|
||||||
|
force user =
|
||||||
|
force group = users
|
||||||
|
|
||||||
|
# ===========================
|
||||||
|
# PlayStations 2 OPL settings
|
||||||
|
# ===========================
|
||||||
|
# Lower the minimum protocol to NT1 (a SMB1 dialect), this is required since
|
||||||
|
# Samba 4.11 changed the default and deprecated SMB1.
|
||||||
|
# See https://github.com/ifcaro/Open-PS2-Loader/issues/86 and
|
||||||
|
# https://github.com/ps2dev/ps2sdk/issues/72 for future SMB2 support.
|
||||||
|
server min protocol = NT1
|
||||||
|
server signing = disabled
|
||||||
|
smb encrypt = disabled
|
||||||
|
|
||||||
|
# Tweak socket options for lower delay. We also set TCP_KEEPIDLE to 20s which is
|
||||||
|
# about what it takes to reset the console and launch OPL, this avoids keeping
|
||||||
|
# file locks around for too long. We could try to optimize socket buffer sizes
|
||||||
|
# but Linux should do this automatically.
|
||||||
|
# TODO(mafredri): Do more testing with TCP_QUICKACK.
|
||||||
|
socket options = TCP_NODELAY TCP_KEEPIDLE=20 IPTOS_LOWDELAY SO_KEEPALIVE
|
||||||
|
|
||||||
|
# Disable keepalive to avoid hanging onto locks. Should not be needed
|
||||||
|
# due to SO_KEEPALIVE and helps with FMV audio stutter.
|
||||||
|
keepalive = 0
|
||||||
|
|
||||||
|
# ------------------------------------
|
||||||
|
# Attempt to speed up reads and writes
|
||||||
|
# ------------------------------------
|
||||||
|
# This setting only works for oplocked files but OPL doesn't oplock.
|
||||||
|
# write cache size = 0
|
||||||
|
# Speed up directory listings.
|
||||||
|
getwd cache = yes
|
||||||
|
# Remove audio stutter in FMVs.
|
||||||
|
large readwrite = yes
|
||||||
|
# Disable asynchronous reads and writes.
|
||||||
|
aio read size = 0
|
||||||
|
aio write size = 0
|
||||||
|
# This might help with performance as the system doesn't need to check locks.
|
||||||
|
# OPL is the only client so we don't care about locks anyway.
|
||||||
|
strict locking = no
|
||||||
|
|
||||||
|
# ----------
|
||||||
|
# ZFS tuning
|
||||||
|
# ----------
|
||||||
|
# Don't listen to client requests for sync.
|
||||||
|
strict sync = no
|
||||||
|
# ZFS does not support preallocation (copy-on-write FS).
|
||||||
|
strict allocate = no
|
||||||
|
# Disable low-latency file operations for better performance.
|
||||||
|
read raw = no
|
||||||
|
write raw = no
|
||||||
|
|
||||||
|
# ----
|
||||||
|
# Misc
|
||||||
|
# ----
|
||||||
|
# Allow symlinks, useful for symlinking saves for multi-disk games.
|
||||||
|
follow symlinks = yes
|
||||||
|
|
||||||
|
[games]
|
||||||
|
comment = PlayStation 2
|
||||||
|
path = /mnt/games
|
||||||
|
browsable = yes
|
||||||
|
guest ok = yes
|
||||||
|
public = yes
|
||||||
|
available = yes
|
||||||
|
read only = no
|
||||||
|
veto files = /._*/.apdisk/.AppleDouble/.DS_Store/.TemporaryItems/.Trashes/desktop.ini/ehthumbs.db/Network Trash Folder/Temporary Items/Thumbs.db/
|
||||||
|
delete veto files = yes
|
||||||
Reference in New Issue
Block a user