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