As you understand:
0. the xxx.xxx.xxx.xx1 must be a router (ip forward must be enabled)
1. the vpn connection by client with vpn ip 192.168.1.2 must be established
2. service on port 777 on vpn client host must be started
3. firewall rules on host with vpn ip 192.168.1.2 must be allows connections to port 777 on it
Try something like that:
#!/bin/bash
IPT=`which iptables`
SYSCTL=`which sysctl`
ext_if="eth0" # The ethernet adapter for the ext_ip (xxx.xxx.xxx.xx1) of the OpenVPN server
int_if="tun0" # The tun-adapter for client with vpn ip 192.168.1.2
int_ip="192.168.1.2" # IP address in internal VPN network
$SYSCTL -w net.ipv4.ip_forward = 1 # Enable IP forwarding
# Some magic
$IPT -t nat -A PREROUTING -p tcp -i $ext_if --dport 777 -j DNAT --to $int_ip:777
$IPT -A FORWARD -p tcp -i $ext_if -o $int_if -d $int_ip --dport 777 -m state --state NEW -j ACCEPT
$IPT -A FORWARD -i $ext_if -o $int_if -d $int_ip -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -i $int_if -s $int_ip -o $ext_if -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -t nat -A POSTROUTING -j MASQUERADE -o $int_if