-
-
Save mafredri/e88401c91489232e92e493d0e02912ef to your computer and use it in GitHub Desktop.
| # 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 | |
| [PS2] | |
| comment = PlayStation 2 | |
| path = /mnt/ps2 | |
| 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 |
@SpazCode153 in fact, I have a lot of the debugs - I enabled level 5, then reduced do level 3.
Each time it says "waiting for connections" is my restart of the container as it simply exits/dies.
Also, any meaningful error is something like that when tried to read the file:
and here are the other logs:
https://pastebin.com/0sm1hcrp
What is surprising it is not repatable situation eg. sometimes I got into listing of the particular game inside the share, but most of the time it simple drops error 300 or 301.
@tomeq82 Just to confirm, your PS2 is directly connected to the samba device via LAN cable? What device are you using to share your games via samba?
@SpazCode153 no, PS2 is connected to the same lan as NAS hosting the container with samba. Docker container, vanilla alpine linux + just samba packages.
add this line for passwords to work in OPL:
ntlm auth = yes
@jamez2128 for me it worked just fine after adding this parameter, thanks man!
@tomeq82 are there any logs for the container? you can run the following command to see the logs for the container: sudo docker container logs CONTAINER_NAME
just replace CONTAINER_NAME with your container name or the container id