Jump to content
IGNORED

Multi User Forem XE Professional Is Getting Closer and Closer


Recommended Posts

Well: I don't know if anyone else is working on multiuser multi node Forem XE Pro, but I have a reliable way of doing so, provided that you have up to 5 computers that are networked together on Windows 10 Pro, and you are running Altirra to do this, and have Total Commander installed in each computer.

 

Let me explain how I have achieved this: 

 

I have added some extra lines in the INITBBS program first of all to create 5 different pas.dat and pas.inx files , one on each of 5 drives , for now hard coded to D1: through D5: , (of course these drives can be changed in the program , and Forem still operates normally even with the extra lines of code).

 

The thing is that if you are using up to 5 computers, (maybe up to more than 5 , but 8 Max) then it an easy matter to change to code slightly when the new user logs off, it will then use 5 separate subroutines to write out 5 passwords, one to each system, thus eliminating a new user login for the other 4 systems.

 

Lets say that you confine New user applications to your master computer and then put a routine on the other 4 (or more) computers that redirects the user to the other computers it is doable. 

 

I will of course test it on two computers , I gave away the third to my girlfriend as it was too big anyways , and I want the other 4 to be desktops anyway and small form factor too.

 

My two new BBSes have had the passwords wiped for this occasion as the password files were not backed up, as the latest ATR was not backed up and it went corrupt, I took a password file from another computer and it reset everything back to index 1, that was my first attempt of multi user systems.

 

I now have a fool proof system I just have to make hourly backups of my ATR files (Set it up as a service in windows), and do that.

 

If anyone would like just the detailed code to add to Amis clean copy (make a backup first) I will post it a a BXE list file for both Forem XE Pro and the INITBBS file, (I will work on the others to do their operations simultaneously).

 

First Forem XE mods:

 

8300 Rem Save up to six different password files.
8310 A$=F$:F$="D6:PAS.DAT":Gosub 6500:Close #I:Open #I,C12,O,F$:F$=A$:Return 
8320 A$=F$:F$="D5:PAS.DAT":Gosub 6500:Close #I:Open #I,C12,O,F$:F$=A$:Return 
8330 A$=F$:F$="D4:PAS.DAT":Gosub 6500:Close #I:Open #I,C12,O,F$:F$=A$:Return 
8340 A$=F$:F$="D3:PAS.DAT":Gosub 6500:Close #I:Open #I,C12,O,F$:F$=A$:Return 
8350 A$=F$:F$="D2:PAS.DAT":Gosub 6500:Close #I:Open #I,C12,O,F$:F$=A$:Return 
8360 A$=F$:F$="D1:PAS.DAT":Gosub 6500:Close #I:Open #I,C12,O,F$:F$=A$:Return 
31035 ? #C3;X$,X:If X:Gosub 2100
31040   Gosub 8310:D$=Pw$(I,C4),Idx$(28;):Wk1=Usr(1576,I,Adr(Idx$(28;))):? #I;Pw$(I,124)
31041   Wk1=Usr(1573,I,Adr(Idx$(28;))):F$="D6:PAS.IDX":Gosub 6600:Close #I:M$(Int(Len(M$)/C7)*C7+I)=D$
31042   Gosub 8320:D$=Pw$(I,C4),Idx$(28;):Wk1=Usr(1576,I,Adr(Idx$(28;))):? #I;Pw$(I,124)
31043   Wk1=Usr(1573,I,Adr(Idx$(28;))):F$="D5:PAS.IDX":Gosub 6600:Close #I:M$(Int(Len(M$)/C7)*C7+I)=D$
31044   Gosub 8330:D$=Pw$(I,C4),Idx$(28;):Wk1=Usr(1576,I,Adr(Idx$(28;))):? #I;Pw$(I,124)
31045   Wk1=Usr(1573,I,Adr(Idx$(28;))):F$="D4:PAS.IDX":Gosub 6600:Close #I:M$(Int(Len(M$)/C7)*C7+I)=D$
31046   Gosub 8340:D$=Pw$(I,C4),Idx$(28;):Wk1=Usr(1576,I,Adr(Idx$(28;))):? #I;Pw$(I,124)
31047   Wk1=Usr(1573,I,Adr(Idx$(28;))):F$="D3:PAS.IDX":Gosub 6600:Close #I:M$(Int(Len(M$)/C7)*C7+I)=D$
31048   Gosub 8350:D$=Pw$(I,C4),Idx$(28;):Wk1=Usr(1576,I,Adr(Idx$(28;))):? #I;Pw$(I,124)
31049   Wk1=Usr(1573,I,Adr(Idx$(28;))):F$="D2:PAS.IDX":Gosub 6600:Close #I:M$(Int(Len(M$)/C7)*C7+I)=D$
31050   Gosub 8360:D$=Pw$(I,C4),Idx$(28;):Wk1=Usr(1576,I,Adr(Idx$(28;))):? #I;Pw$(I,124)
31051   Wk1=Usr(1573,I,Adr(Idx$(28;))):F$="D1:PAS.IDX":Gosub 6600:Close #I:M$(Int(Len(M$)/C7)*C7+I)=D$

 

Next InitBBS Mods:

 

1900 Close #1:Open #1,8,0,"D1:PAS.DAT":Idx$(28;)="   "
1901 A$=Cr$:A$(125)=Cr$:A$(2)=A$:For X=1 To 10:? #1;A$:Next X:Close #1
1902 Close #1:Open #1,8,0,"D2:PAS.DAT":Idx$(28;)="   "
1903 A$=Cr$:A$(125)=Cr$:A$(2)=A$:For X=1 To 10:? #1;A$:Next X:Close #1
1904 Close #1:Open #1,8,0,"D3:PAS.DAT":Idx$(28;)="   "
1905 A$=Cr$:A$(125)=Cr$:A$(2)=A$:For X=1 To 10:? #1;A$:Next X:Close #1
1906 Close #1:Open #1,8,0,"D4:PAS.DAT":Idx$(28;)="   "
1907 A$=Cr$:A$(125)=Cr$:A$(2)=A$:For X=1 To 10:? #1;A$:Next X:Close #1
1908 Close #1:Open #1,8,0,"D5:PAS.DAT":Idx$(28;)="   "
1909 A$=Cr$:A$(125)=Cr$:A$(2)=A$:For X=1 To 10:? #1;A$:Next X:Close #1
1910 Close #1:Open #1,8,0,"D6:PAS.DAT":Idx$(28;)="   "
1911 A$=Cr$:A$(125)=Cr$:A$(2)=A$:For X=1 To 10:? #1;A$:Next X:Close #1
 

These are the two mods that are needed to allow multiusers (Up to 6 six identical password sets on six different machines)

 

Russ

 

 

Edited by rcamp48
fix garbled characters
Link to comment
Share on other sites

As long as you map out each password drive separately for each system, it should work OK, I will test it out on two machines:

 

Here is another possibility but harder to code though out the program:

 

8300 Rem Save up to six different password files.
8310 A$=F$:F$="D1:PAS_6.DAT":Gosub 6500:Close #I:Open #I,C12,O,F$:F$=A$:Return 
8320 A$=F$:F$="D1:PAS_5.DAT":Gosub 6500:Close #I:Open #I,C12,O,F$:F$=A$:Return 
8330 A$=F$:F$="D1:PAS_4.DAT":Gosub 6500:Close #I:Open #I,C12,O,F$:F$=A$:Return 
8340 A$=F$:F$="D1:PAS_3.DAT":Gosub 6500:Close #I:Open #I,C12,O,F$:F$=A$:Return 
8350 A$=F$:F$="D1:PAS_2.DAT":Gosub 6500:Close #I:Open #I,C12,O,F$:F$=A$:Return 
8360 A$=F$:F$="D1:PAS_1.DAT":Gosub 6500:Close #I:Open #I,C12,O,F$:F$=A$:Return 
31035 ? #C3;X$,X:If X:Gosub 2100
31040   Gosub 8310:D$=Pw$(I,C4),Idx$(28;):Wk1=Usr(1576,I,Adr(Idx$(28;))):? #I;Pw$(I,124)
31041   Wk1=Usr(1573,I,Adr(Idx$(28;))):F$="D1:PAS_6.IDX":Gosub 6600:Close #I:M$(Int(Len(M$)/C7)*C7+I)=D$
31042   Gosub 8320:D$=Pw$(I,C4),Idx$(28;):Wk1=Usr(1576,I,Adr(Idx$(28;))):? #I;Pw$(I,124)
31043   Wk1=Usr(1573,I,Adr(Idx$(28;))):F$="D1:PAS_5.IDX":Gosub 6600:Close #I:M$(Int(Len(M$)/C7)*C7+I)=D$
31044   Gosub 8330:D$=Pw$(I,C4),Idx$(28;):Wk1=Usr(1576,I,Adr(Idx$(28;))):? #I;Pw$(I,124)
31045   Wk1=Usr(1573,I,Adr(Idx$(28;))):F$="D1:PAS_4.IDX":Gosub 6600:Close #I:M$(Int(Len(M$)/C7)*C7+I)=D$
31046   Gosub 8340:D$=Pw$(I,C4),Idx$(28;):Wk1=Usr(1576,I,Adr(Idx$(28;))):? #I;Pw$(I,124)
31047   Wk1=Usr(1573,I,Adr(Idx$(28;))):F$="D1:PAS_3.IDX":Gosub 6600:Close #I:M$(Int(Len(M$)/C7)*C7+I)=D$
31048   Gosub 8350:D$=Pw$(I,C4),Idx$(28;):Wk1=Usr(1576,I,Adr(Idx$(28;))):? #I;Pw$(I,124)
31049   Wk1=Usr(1573,I,Adr(Idx$(28;))):F$="D1:PAS_2.IDX":Gosub 6600:Close #I:M$(Int(Len(M$)/C7)*C7+I)=D$
31050   Gosub 8360:D$=Pw$(I,C4),Idx$(28;):Wk1=Usr(1576,I,Adr(Idx$(28;))):? #I;Pw$(I,124)
31051   Wk1=Usr(1573,I,Adr(Idx$(28;))):F$="D1:PAS_1.IDX":Gosub 6600:Close #I:M$(Int(Len(M$)/C7)*C7+I)=D$

 

Next InitBBS Mods:

 

1900 Close #1:Open #1,8,0,"D1:PAS_1.DAT":Idx$(28;)="   "
1901 A$=Cr$:A$(125)=Cr$:A$(2)=A$:For X=1 To 10:? #1;A$:Next X:Close #1
1902 Close #1:Open #1,8,0,"D1:PAS_2.DAT":Idx$(28;)="   "
1903 A$=Cr$:A$(125)=Cr$:A$(2)=A$:For X=1 To 10:? #1;A$:Next X:Close #1
1904 Close #1:Open #1,8,0,"D1:PAS_2.DAT":Idx$(28;)="   "
1905 A$=Cr$:A$(125)=Cr$:A$(2)=A$:For X=1 To 10:? #1;A$:Next X:Close #1
1906 Close #1:Open #1,8,0,"D1:PAS_3.DAT":Idx$(28;)="   "
1907 A$=Cr$:A$(125)=Cr$:A$(2)=A$:For X=1 To 10:? #1;A$:Next X:Close #1
1908 Close #1:Open #1,8,0,"D1:PAS.DAT":Idx$(28;)="   "
1909 A$=Cr$:A$(125)=Cr$:A$(2)=A$:For X=1 To 10:? #1;A$:Next X:Close #1
1910 Close #1:Open #1,8,0,"D1:PAS.DAT":Idx$(28;)="   "
1911 A$=Cr$:A$(125)=Cr$:A$(2)=A$:For X=1 To 10:? #1;A$:Next X:Close #1
 

Maybe someone could work with the above: 

I will start.
Russ

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...