Skip to content

Commit

Permalink
ps3netsrv 20240210
Browse files Browse the repository at this point in the history
- Fixed compilation warning on linux
- Added linux binaries
- Updated readme.md and usage message
  • Loading branch information
aldostools committed Feb 10, 2024
1 parent 96741a3 commit a0f4303
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 8 deletions.
4 changes: 4 additions & 0 deletions _Projects_/ps3netsrv/Makefile.linux
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ CPPFLAGS += -Wall -I./include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DPOL
CFLAGS += -Doff64_t=off_t
CPPFLAGS += -Doff64_t=off_t

#OUTPUT := makeiso
#CFLAGS += -DMAKEISO
#CPPFLAGS += -DMAKEISO

#CFLAGS += -DNOSSL
#CPPFLAGS +=-DNOSSL
#OBJS = src/main.o src/compat.o src/mem.o src/File.o src/VIsoFile.o
Expand Down
29 changes: 28 additions & 1 deletion _Projects_/ps3netsrv/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
# ps3netsrv

ps3netsrv is a server application used to stream content from a remote server to the PS3.

Supports automatic decryption of encrypted PS3 ISO and folder conversion to PS3 ISO or standard ISO.

For more information: https://github.com/aldostools/webMAN-MOD/wiki/~-PS3-NET-Server

## Features

* Configurable shared root directory (uses ps3netsrv path if the root directory is omitted)
* Configurable port (38008 is used by default if port is omitted)
* Start without command line parameters if GAMES, PS3ISO, PSXISO folders are found in ps3netsrv folder
* List local server IP addresses
* Support up to 5 PS3 clients concurrently
* Remote IP address filtering: Whitelist IP addresses using wildcards
* Remote directory listing (whole directory at once or by file) / include subdirectories
* Streaming of ISO images (CD-ROM, CD-ROM XA, DVD, Bluray or PS3 Blurays)
* Detection of standard & non-standard CD sector sizes: 2048, 2352, 2336, 2448, 2328, 2368, 2340
* Multi-part ISO support (ISO images split as *.iso.0, *.iso.1, etc.)
* Realtime decryption of PS3 ISO images (3k3y & redump encrypted images)
* Realtime conversion of mounted folder to virtual ISO (vISO)
* Merge multiple paths into a single directory (list paths in folder_name.INI)
* List files in specified directory and all subdirectories if the path ends with //
* Remote file operations (stat, open, create, read, close, delete, mkdir, rmdir)
* Convert game folder or directory to local ISO file (drag & drop the ISO or folder for easy conversion)
* Decrypt encrypted PS3 ISO (using redump/3k3y encryption) into a new decrypted ISO

## Requirements

* A C/C++ compiler
Expand Down Expand Up @@ -77,7 +103,8 @@ Google Go: https://github.com/xakep666/ps3netsrv-go

ps3netsrv modified for encrypted (3k3y/redump) isos: http://forum.redump.org/topic/14472

ps3netsrv modified for multiMAN: http://deanbg.com/ps3netsrv.zip
ps3netsrv modified for multiMAN:
https://github.com/aldostools/webMAN-MOD/blob/master/_Projects_/ps3netsrv/bins/old/ps3netsrv-src-deank.7z

Original ps3netsrv by Cobra for Linux / Windows:<br>
https://github.com/Joonie86/Cobra-7.00/tree/master/446/PC/ps3netsrv
2 changes: 1 addition & 1 deletion _Projects_/ps3netsrv/bins/Linux/Readme.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# ps3netsrv for Linux

Here is a RELEASE build of the latest ps3netsrv source code (build 20231215) for ubuntu 22.04.3 LTS:
Here is a RELEASE build of the latest ps3netsrv source code (build 20240210) for ubuntu 22.04.3 LTS:
Binary file added _Projects_/ps3netsrv/bins/Linux/makeiso
Binary file not shown.
Binary file modified _Projects_/ps3netsrv/bins/Linux/ps3netsrv_linuxX86_64
Binary file not shown.
Binary file modified _Projects_/ps3netsrv/bins/Windows/makeiso.exe
Binary file not shown.
Binary file modified _Projects_/ps3netsrv/bins/Windows/ps3netsrv.exe
Binary file not shown.
13 changes: 7 additions & 6 deletions _Projects_/ps3netsrv/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,9 @@ typedef struct _client_t
int make_iso = VISO_NONE;

static char root_directory[MAX_PATH_LEN];
static size_t root_len = 0;

#ifndef MAKEISO
static size_t root_len = 0;
static client_t clients[MAX_CLIENTS];

static int initialize_socket(uint16_t port)
Expand Down Expand Up @@ -112,7 +112,6 @@ static int initialize_socket(uint16_t port)

return s;
}
#endif

#ifndef WIN32
static int recv_all(int s, void *buf, int size)
Expand Down Expand Up @@ -141,6 +140,8 @@ static int recv_all(int s, void *buf, int size)
}
#endif

#endif // #ifndef MAKEISO

static int normalize_path(char *path, int8_t del_last_slash)
{
if(!path) return 0;
Expand Down Expand Up @@ -350,6 +351,8 @@ static int create_iso(char *folder_path, char *fileout, int viso)
return ret;
}

#ifndef MAKEISO

static char *translate_path(char *path, int *viso)
{
if(!path) return NULL;
Expand Down Expand Up @@ -490,8 +493,6 @@ static char *translate_path(char *path, int *viso)
return p;
}

#ifndef MAKEISO

static int64_t calculate_directory_size(char *path)
{
int64_t result = 0;
Expand Down Expand Up @@ -1810,7 +1811,7 @@ int main(int argc, char *argv[])
if(argc < 2)
{
#ifdef MAKEISO
printf( "\nUsage: makeiso [directory] [PS3/ISO]\n");
printf( "\nUsage: makeiso [directory/encrypted iso] [PS3/ISO]\n");
goto exit_error;
#else
file_stat_t fs;
Expand Down Expand Up @@ -1886,7 +1887,7 @@ int main(int argc, char *argv[])

if(argc < 3)
{
char sfo_path[MAX_PATH];
char sfo_path[sizeof(root_directory) + 20];
snprintf(sfo_path, sizeof(sfo_path) - 1, "%s/PS3_GAME/PARAM.SFO", root_directory);

file_stat_t fs;
Expand Down

0 comments on commit a0f4303

Please sign in to comment.